POSTGRESQL WAL 日志问题合集之WAL 如何解析

74e922720566d1abe52931a042549c15.png

开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请加 liuaustin3微信号 ,在新加的朋友会分到3群 (共1220人左右 1 + 2 + 3 + 4)

最近经常有同学会问关于WAL 的问题,问能不能总结一下,这里我们总结关于WAL write ahead log 的问题的一个系列

在PostgreSQL write ahead log 的解析部分,pg_waldump 是必须被提起的工具,并且这个工具在不同的版本中都有变化, pg_waldump工具最早是产生于 PG9.3作为一个 contrib module 模块中的部分出现的,经历了9.4.9.5 的功能的添加,在PG10 将原来 pg_xlogdump 名字改为pg_waldump 截止到当前 postgresql 16(非正式) 版本中 pg_waldump还在进行各种的随着数据库的升级后的版本更新。

369d00923326532faf0dd38008f6e8ed.png

pg_waldump 中获取日志信息的来源可以通过 pg_waldump --rmgr-list来获得可以获得事务信息来源。

372c667ad3b6e970fecacda2c8683f1c.png

在使用pg_waldump的命令读取日志,可能会出现错误,一般产生这个问题主要是数据库处理数据的时候在 idel 的状态,因为PG 有相关的参数在没有数据库的活动的情况下,也可以产生日志,在读取这样的部分的情况下就会产生问题。

deea530a61be549c92282bc339e008f7.png

    1. pg_waldump /pgdata/data/pg_wal/00000001000000070000000D

    2. rmgr: Standby len (rec/tot): 50/ 50, tx: 0, lsn: 7/34000028, prev 7/331903C8, desc: RUNNING_XACTS nextXid 1061 latestCompletedXid 1060 oldestRunningXid 1061

    3. rmgr: Standby len (rec/tot): 50/ 50, tx: 0, lsn: 7/34000060, prev 7/34000028, desc: RUNNING_XACTS nextXid 1061 latestCompletedXid 1060 oldestRunningXid 1061

    4. rmgr: XLOG len (rec/tot): 114/ 114, tx: 0, lsn: 7/34000098, prev 7/34000060, desc: CHECKPOINT_ONLINE redo 7/34000060; tli 1; prev tli 1; fpw true; xid 0:1061; oid 32873; multi 4; offset 9; oldest xid 726 in DB 1; oldest multi 1 in DB 1; oldest/newest commit timestamp xid: 0/0; oldest running xid 1061; online

    5. rmgr: Standby len (rec/tot): 50/ 50, tx: 0, lsn: 7/34000110, prev 7/34000098, desc: RUNNING_XACTS nextXid 1061 latestCompletedXid 1060 oldestRunningXid 1061

    6. pg_waldump: fatal: error in WAL record at 7/34000110: invalid record length at 7/34000148: wanted 24, got 0

我们做如下的操作,然后通过pg_waldump 来查看相关的记录

1543141d565a9afe417b391b9ab3dcef.png

cache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 snapshot 2608 relcache 24778
rmgr: Standby     len (rec/tot):     50/    50, tx:          0, lsn: 7/34021D88, prev 7/34021BF0, desc: RUNNING_XACTS nextXid 1062 latestCompletedXid 1061 oldestRunningXid 1062
rmgr: Heap        len (rec/tot):     59/    59, tx:       1062, lsn: 7/34021DC0, prev 7/34021D88, desc: INSERT+INIT off 1 flags 0x00, blkref #0: rel 1663/24760/24778 blk 0
rmgr: Transaction len (rec/tot):     34/    34, tx:       1062, lsn: 7/34021E00, prev 7/34021DC0, desc: COMMIT 2023-03-26 08:16:06.160522 EDT
rmgr: Standby     len (rec/tot):     50/    50, tx:          0, lsn: 7/34021E28, prev 7/34021E00, desc: RUNNING_XACTS nextXid 1063 latestCompletedXid 1062 oldestRunningXid 1063
rmgr: Heap        len (rec/tot):     69/    69, tx:       1063, lsn: 7/34021E60, prev 7/34021E28, desc: HOT_UPDATE off 1 xmax 1063 flags 0x40 ; new off 2 xmax 0, blkref #0: rel 1663/24760/24778 blk 0
rmgr: Transaction len (rec/tot):     34/    34, tx:       1063, lsn: 7/34021EA8, prev 7/34021E60, desc: COMMIT 2023-03-26 08:16:19.239652 EDT
rmgr: Standby     len (rec/tot):     50/    50, tx:          0, lsn: 7/34021ED0, prev 7/34021EA8, desc: RUNNING_XACTS nextXid 1064 latestCompletedXid 1063 oldestRunningXid 1064
rmgr: Heap        len (rec/tot):     54/    54, tx:       1064, lsn: 7/34021F08, prev 7/34021ED0, desc: DELETE off 2 flags 0x00 KEYS_UPDATED , blkref #0: rel 1663/24760/24778 blk 0
rmgr: Transaction len (rec/tot):     34/    34, tx:       1064, lsn: 7/34021F40, prev 7/34021F08, desc: COMMIT 2023-03-26 08:16:32.959424 EDT
rmgr: Standby     len (rec/tot):     50/    50, tx:          0, lsn: 7/34021F68, prev 7/34021F40, desc: RUNNING_XACTS nextXid 1065 latestCompletedXid 1064 oldestRunningXid 1065
rmgr: XLOG        len (rec/tot):    114/   114, tx:          0, lsn: 7/34021FA0, prev 7/34021F68, desc: CHECKPOINT_ONLINE redo 7/34021F68; tli 1; prev tli 1; fpw true; xid 0:1065; oid 32873; multi 4; offset 9; oldest xid 726 in DB 1; oldest multi 1 in DB 1; oldest/newest commit timestamp xid: 0/0; oldest running xid 1065; online
rmgr: Standby     len (rec/tot):     50/    50, tx:          0, lsn: 7/34022030, prev 7/34021FA0, desc: RUNNING_XACTS nextXid 1065 latestCompletedXid 1064 oldestRunningXid 1065

从上面的pg_wal 日志里,我们可以清晰的看出来相关的操作, standby , heap ,transaction 为组成的整体操作。

从这里我们搞清楚了进行一个操作如 INSERT  UPDATE  DELETE ,在wal 日志中均会产生

1  具体的操作  2 commit  3  更新 XACTS ID 


在分析中,我们可以针对要分析的位置和日志进行定位,在需要分析的操作前我们先查看当前的 wal lsn  通过 select pg_current_wal_lsn(); 来进行定位

6925fe7f619afa861414ed07ba801b33.png

在整体需要跟踪学习的操作完毕后我们可以通过如下的语句来进行日志的文件和位置的定位。

select pg_current_wal_lsn(),

 pg_walfile_name(pg_current_wal_lsn()),

 pg_walfile_name_offset(pg_current_wal_lsn());

9f99196018781f197d4051b47cd47538.png

通过语句我们定位到当前的LSN 号,日志文件号信息等。通过pg_waldump 命令的参数,-s -e 

下面我们做一个实验

9b651c16701e2acf96e5b19d63e9560d.png

日志的初始lsn 7/34022068   操作结束时lsn 7/3403C748 

日志的名字为  00000001000000070000000D

 pg_waldump /pgdata/data/pg_wal/00000001000000070000000D -s 7/34022068  -e 7/3403C748    在我们确认日志,开始,结束点后,我们得到如下的解析后的日志信息

rmgr: Storage     len (rec/tot):     42/    42, tx:          0, lsn: 7/34022068, prev 7/34022030, desc: CREATE base/24760/24781
rmgr: Heap        len (rec/tot):     54/  1582, tx:       1065, lsn: 7/34022098, prev 7/34022068, desc: INSERT off 8 flags 0x00, blkref #0: rel 1663/24760/1247 blk 14 FPW
rmgr: Btree       len (rec/tot):     53/  4973, tx:       1065, lsn: 7/340226C8, prev 7/34022098, desc: INSERT_LEAF off 244, blkref #0: rel 1663/24760/2703 blk 2 FPW
rmgr: Btree       len (rec/tot):     53/  6165, tx:       1065, lsn: 7/34023A38, prev 7/340226C8, desc: INSERT_LEAF off 172, blkref #0: rel 1663/24760/2704 blk 2 FPW
rmgr: Heap2       len (rec/tot):     57/   261, tx:       1065, lsn: 7/34025268, prev 7/34023A38, desc: MULTI_INSERT 1 tuples flags 0x02, blkref #0: rel 1663/24760/2608 blk 65 FPW
rmgr: Btree       len (rec/tot):     53/  4929, tx:       1065, lsn: 7/34025370, prev 7/34025268, desc: INSERT_LEAF off 113, blkref #0: rel 1663/24760/2673 blk 37 FPW
rmgr: Btree       len (rec/tot):     53/  5657, tx:       1065, lsn: 7/340266D0, prev 7/34025370, desc: INSERT_LEAF off 199, blkref #0: rel 1663/24760/2674 blk 52 FPW
rmgr: Heap        len (rec/tot):    211/   211, tx:       1065, lsn: 7/34027CF0, prev 7/340266D0, desc: INSERT off 9 flags 0x00, blkref #0: rel 1663/24760/1247 blk 14
rmgr: Btree       len (rec/tot):     64/    64, tx:       1065, lsn: 7/34027DC8, prev 7/34027CF0, desc: INSERT_LEAF off 244, blkref #0: rel 1663/24760/2703 blk 2
rmgr: Btree       len (rec/tot):     53/  7097, tx:       1065, lsn: 7/34027E08, prev 7/34027DC8, desc: INSERT_LEAF off 68, blkref #0: rel 1663/24760/2704 blk 4 FPW
rmgr: Heap2       len (rec/tot):     85/    85, tx:       1065, lsn: 7/340299E0, prev 7/34027E08, desc: MULTI_INSERT 1 tuples flags 0x02, blkref #0: rel 1663/24760/2608 blk 65
rmgr: Btree       len (rec/tot):     72/    72, tx:       1065, lsn: 7/34029A38, prev 7/340299E0, desc: INSERT_LEAF off 113, blkref #0: rel 1663/24760/2673 blk 37
rmgr: Btree       len (rec/tot):     53/  4229, tx:       1065, lsn: 7/34029A80, prev 7/34029A38, desc: INSERT_LEAF off 148, blkref #0: rel 1663/24760/2674 blk 50 FPW
rmgr: Heap        len (rec/tot):     54/  5218, tx:       1065, lsn: 7/3402AB20, prev 7/34029A80, desc: INSERT off 25 flags 0x01, blkref #0: rel 1663/24760/1259 blk 5 FPW
rmgr: Btree       len (rec/tot):     53/  2553, tx:       1065, lsn: 7/3402BF88, prev 7/3402AB20, desc: INSERT_LEAF off 123, blkref #0: rel 1663/24760/2662 blk 2 FPW
rmgr: Btree       len (rec/tot):     53/  4085, tx:       1065, lsn: 7/3402C9A0, prev 7/3402BF88, desc: INSERT_LEAF off 108, blkref #0: rel 1663/24760/2663 blk 2 FPW
rmgr: Btree       len (rec/tot):     53/  3853, tx:       1065, lsn: 7/3402D998, prev 7/3402C9A0, desc: INSERT_LEAF off 188, blkref #0: rel 1663/24760/3455 blk 4 FPW
rmgr: Heap2       len (rec/tot):     57/  1117, tx:       1065, lsn: 7/3402E8C0, prev 7/3402D998, desc: MULTI_INSERT 1 tuples flags 0x02, blkref #0: rel 1663/24760/1249 blk 55 FPW
rmgr: Btree       len (rec/tot):     53/  5689, tx:       1065, lsn: 7/3402ED20, prev 7/3402E8C0, desc: INSERT_LEAF off 165, blkref #0: rel 1663/24760/2658 blk 14 FPW
rmgr: Btree       len (rec/tot):     53/  1553, tx:       1065, lsn: 7/34030378, prev 7/3402ED20, desc: INSERT_LEAF off 73, blkref #0: rel 1663/24760/2659 blk 10 FPW
rmgr: Heap2       len (rec/tot):    830/   830, tx:       1065, lsn: 7/34030990, prev 7/34030378, desc: MULTI_INSERT 6 tuples flags 0x02, blkref #0: rel 1663/24760/1249 blk 55
rmgr: Btree       len (rec/tot):     72/    72, tx:       1065, lsn: 7/34030CD0, prev 7/34030990, desc: INSERT_LEAF off 165, blkref #0: rel 1663/24760/2658 blk 14
rmgr: Btree       len (rec/tot):     64/    64, tx:       1065, lsn: 7/34030D18, prev 7/34030CD0, desc: INSERT_LEAF off 73, blkref #0: rel 1663/24760/2659 blk 10
rmgr: Btree       len (rec/tot):     72/    72, tx:       1065, lsn: 7/34030D58, prev 7/34030D18, desc: INSERT_LEAF off 167, blkref #0: rel 1663/24760/2658 blk 14
rmgr: Btree       len (rec/tot):     64/    64, tx:       1065, lsn: 7/34030DA0, prev 7/34030D58, desc: INSERT_LEAF off 73, blkref #0: rel 1663/24760/2659 blk 10
rmgr: Btree       len (rec/tot):     72/    72, tx:       1065, lsn: 7/34030DE0, prev 7/34030DA0, desc: INSERT_LEAF off 165, blkref #0: rel 1663/24760/2658 blk 14
rmgr: Btree       len (rec/tot):     64/    64, tx:       1065, lsn: 7/34030E28, prev 7/34030DE0, desc: INSERT_LEAF off 73, blkref #0: rel 1663/24760/2659 blk 10
rmgr: Btree       len (rec/tot):     72/    72, tx:       1065, lsn: 7/34030E68, prev 7/34030E28, desc: INSERT_LEAF off 168, blkref #0: rel 1663/24760/2658 blk 14
rmgr: Btree       len (rec/tot):     64/    64, tx:       1065, lsn: 7/34030EB0, prev 7/34030E68, desc: INSERT_LEAF off 73, blkref #0: rel 1663/24760/2659 blk 10
rmgr: Btree       len (rec/tot):     72/    72, tx:       1065, lsn: 7/34030EF0, prev 7/34030EB0, desc: INSERT_LEAF off 165, blkref #0: rel 1663/24760/2658 blk 14
rmgr: Btree       len (rec/tot):     64/    64, tx:       1065, lsn: 7/34030F38, prev 7/34030EF0, desc: INSERT_LEAF off 73, blkref #0: rel 1663/24760/2659 blk 10
rmgr: Btree       len (rec/tot):     72/    72, tx:       1065, lsn: 7/34030F78, prev 7/34030F38, desc: INSERT_LEAF off 169, blkref #0: rel 1663/24760/2658 blk 14
rmgr: Btree       len (rec/tot):     64/    64, tx:       1065, lsn: 7/34030FC0, prev 7/34030F78, desc: INSERT_LEAF off 73, blkref #0: rel 1663/24760/2659 blk 10
rmgr: Heap2       len (rec/tot):     85/    85, tx:       1065, lsn: 7/34031000, prev 7/34030FC0, desc: MULTI_INSERT 1 tuples flags 0x02, blkref #0: rel 1663/24760/2608 blk 65
rmgr: Btree       len (rec/tot):     53/  6161, tx:       1065, lsn: 7/34031058, prev 7/34031000, desc: INSERT_LEAF off 208, blkref #0: rel 1663/24760/2673 blk 41 FPW
rmgr: Btree       len (rec/tot):     53/  6133, tx:       1065, lsn: 7/34032888, prev 7/34031058, desc: INSERT_LEAF off 102, blkref #0: rel 1663/24760/2674 blk 48 FPW
rmgr: Standby     len (rec/tot):     42/    42, tx:       1065, lsn: 7/34034098, prev 7/34032888, desc: LOCK xid 1065 db 24760 rel 24781 
rmgr: Transaction len (rec/tot):    405/   405, tx:       1065, lsn: 7/340340C8, prev 7/34034098, desc: COMMIT 2023-03-26 11:45:21.364693 EDT; inval msgs: catcache 76 catcache 75 catcache 76 catcache 75 catcache 51 catcache 50 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 catcache 7 catcache 6 snapshot 2608 relcache 24781
rmgr: Standby     len (rec/tot):     50/    50, tx:          0, lsn: 7/34034260, prev 7/340340C8, desc: RUNNING_XACTS nextXid 1066 latestCompletedXid 1065 oldestRunningXid 1066
rmgr: Heap        len (rec/tot):     59/    59, tx:       1066, lsn: 7/34034298, prev 7/34034260, desc: INSERT+INIT off 1 flags 0x00, blkref #0: rel 1663/24760/24781 blk 0
rmgr: Transaction len (rec/tot):     34/    34, tx:       1066, lsn: 7/340342D8, prev 7/34034298, desc: COMMIT 2023-03-26 11:45:32.308997 EDT
rmgr: Heap        len (rec/tot):     59/    59, tx:       1067, lsn: 7/34034300, prev 7/340342D8, desc: INSERT off 2 flags 0x00, blkref #0: rel 1663/24760/24781 blk 0
rmgr: Transaction len (rec/tot):     34/    34, tx:       1067, lsn: 7/34034340, prev 7/34034300, desc: COMMIT 2023-03-26 11:45:41.511395 EDT
rmgr: Standby     len (rec/tot):     50/    50, tx:          0, lsn: 7/34034368, prev 7/34034340, desc: RUNNING_XACTS nextXid 1068 latestCompletedXid 1067 oldestRunningXid 1068
rmgr: Heap        len (rec/tot):     54/    54, tx:       1068, lsn: 7/340343A0, prev 7/34034368, desc: DELETE off 2 flags 0x00 KEYS_UPDATED , blkref #0: rel 1663/24760/24781 blk 0
rmgr: Transaction len (rec/tot):     34/    34, tx:       1068, lsn: 7/340343D8, prev 7/340343A0, desc: COMMIT 2023-03-26 11:45:56.431164 EDT
rmgr: Standby     len (rec/tot):     50/    50, tx:          0, lsn: 7/34034400, prev 7/340343D8, desc: RUNNING_XACTS nextXid 1069 latestCompletedXid 1068 oldestRunningXid 1069
rmgr: Storage     len (rec/tot):     42/    42, tx:          0, lsn: 7/34034438, prev 7/34034400, desc: CREATE base/24760/24784
rmgr: Standby     len (rec/tot):     42/    42, tx:       1069, lsn: 7/34034468, prev 7/34034438, desc: LOCK xid 1069 db 24760 rel 24784 
rmgr: Heap        len (rec/tot):    203/   203, tx:       1069, lsn: 7/34034498, prev 7/34034468, desc: INSERT off 27 flags 0x00, blkref #0: rel 1663/24760/1259 blk 5
rmgr: Btree       len (rec/tot):     64/    64, tx:       1069, lsn: 7/34034568, prev 7/34034498, desc: INSERT_LEAF off 124, blkref #0: rel 1663/24760/2662 blk 2
rmgr: Btree       len (rec/tot):     53/  5905, tx:       1069, lsn: 7/340345A8, prev 7/34034568, desc: INSERT_LEAF off 40, blkref #0: rel 1663/24760/2663 blk 1 FPW
rmgr: Btree       len (rec/tot):     64/    64, tx:       1069, lsn: 7/34035CC0, prev 7/340345A8, desc: INSERT_LEAF off 189, blkref #0: rel 1663/24760/3455 blk 4
rmgr: Heap2       len (rec/tot):    180/   180, tx:       1069, lsn: 7/34035D00, prev 7/34035CC0, desc: MULTI_INSERT 1 tuples flags 0x02, blkref #0: rel 1663/24760/1249 blk 55
rmgr: Btree       len (rec/tot):     64/    64, tx:       1069, lsn: 7/34035DB8, prev 7/34035D00, desc: INSERT_LEAF off 172, blkref #0: rel 1663/24760/2658 blk 14
rmgr: Btree       len (rec/tot):     64/    64, tx:       1069, lsn: 7/34035DF8, prev 7/34035DB8, desc: INSERT_LEAF off 80, blkref #0: rel 1663/24760/2659 blk 10
rmgr: Heap        len (rec/tot):     54/  8042, tx:       1069, lsn: 7/34035E38, prev 7/34035DF8, desc: INSERT off 4 flags 0x01, blkref #0: rel 1663/24760/2610 blk 1 FPW
rmgr: Btree       len (rec/tot):     53/  3253, tx:       1069, lsn: 7/34037DC0, prev 7/34035E38, desc: INSERT_LEAF off 158, blkref #0: rel 1663/24760/2678 blk 1 FPW
rmgr: Btree       len (rec/tot):     53/  3253, tx:       1069, lsn: 7/34038A90, prev 7/34037DC0, desc: INSERT_LEAF off 158, blkref #0: rel 1663/24760/2679 blk 1 FPW
rmgr: Heap2       len (rec/tot):     85/    85, tx:       1069, lsn: 7/34039748, prev 7/34038A90, desc: MULTI_INSERT 1 tuples flags 0x02, blkref #0: rel 1663/24760/2608 blk 65
rmgr: Btree       len (rec/tot):     72/    72, tx:       1069, lsn: 7/340397A0, prev 7/34039748, desc: INSERT_LEAF off 209, blkref #0: rel 1663/24760/2673 blk 41
rmgr: Btree       len (rec/tot):     72/    72, tx:       1069, lsn: 7/340397E8, prev 7/340397A0, desc: INSERT_LEAF off 200, blkref #0: rel 1663/24760/2674 blk 52
rmgr: XLOG        len (rec/tot):     49/   109, tx:       1069, lsn: 7/34039830, prev 7/340397E8, desc: FPI , blkref #0: rel 1663/24760/24784 blk 1 FPW
rmgr: XLOG        len (rec/tot):     49/   137, tx:       1069, lsn: 7/340398A0, prev 7/34039830, desc: FPI , blkref #0: rel 1663/24760/24784 blk 0 FPW
rmgr: Heap        len (rec/tot):    188/   188, tx:       1069, lsn: 7/34039930, prev 7/340398A0, desc: INPLACE off 25, blkref #0: rel 1663/24760/1259 blk 5
rmgr: Heap        len (rec/tot):    188/   188, tx:       1069, lsn: 7/340399F0, prev 7/34039930, desc: INPLACE off 27, blkref #0: rel 1663/24760/1259 blk 5
rmgr: Transaction len (rec/tot):    274/   274, tx:       1069, lsn: 7/34039AB0, prev 7/340399F0, desc: COMMIT 2023-03-26 11:46:15.154540 EDT; inval msgs: catcache 51 catcache 50 catcache 51 catcache 50 catcache 51 catcache 50 catcache 7 catcache 6 catcache 32 relcache 24781 relcache 24784 relcache 24784 relcache 24781 snapshot 2608
rmgr: Standby     len (rec/tot):     50/    50, tx:          0, lsn: 7/34039BC8, prev 7/34039AB0, desc: RUNNING_XACTS nextXid 1070 latestCompletedXid 1069 oldestRunningXid 1070
rmgr: XLOG        len (rec/tot):     49/  8037, tx:          0, lsn: 7/34039C00, prev 7/34039BC8, desc: FPI_FOR_HINT , blkref #0: rel 1663/24760/2610 blk 1 FPW
rmgr: XLOG        len (rec/tot):     49/  2145, tx:          0, lsn: 7/3403BB80, prev 7/34039C00, desc: FPI_FOR_HINT , blkref #0: rel 1663/24760/1249 blk 55 FPW
rmgr: Standby     len (rec/tot):     50/    50, tx:          0, lsn: 7/3403C400, prev 7/3403BB80, desc: RUNNING_XACTS nextXid 1070 latestCompletedXid 1069 oldestRunningXid 1070
rmgr: Heap        len (rec/tot):     65/   197, tx:       1070, lsn: 7/3403C438, prev 7/3403C400, desc: UPDATE off 1 xmax 1070 flags 0x00 ; new off 3 xmax 0, blkref #0: rel 1663/24760/24781 blk 0 FPW
rmgr: Btree       len (rec/tot):     53/   133, tx:       1070, lsn: 7/3403C500, prev 7/3403C438, desc: INSERT_LEAF off 2, blkref #0: rel 1663/24760/24784 blk 1 FPW
rmgr: Transaction len (rec/tot):     34/    34, tx:       1070, lsn: 7/3403C588, prev 7/3403C500, desc: COMMIT 2023-03-26 11:46:50.660698 EDT
rmgr: Standby     len (rec/tot):     50/    50, tx:          0, lsn: 7/3403C5B0, prev 7/3403C588, desc: RUNNING_XACTS nextXid 1071 latestCompletedXid 1070 oldestRunningXid 1071
rmgr: XLOG        len (rec/tot):    114/   114, tx:          0, lsn: 7/3403C5E8, prev 7/3403C5B0, desc: CHECKPOINT_ONLINE redo 7/34039C00; tli 1; prev tli 1; fpw true; xid 0:1070; oid 32873; multi 4; offset 9; oldest xid 726 in DB 1; oldest multi 1 in DB 1; oldest/newest commit timestamp xid: 0/0; oldest running xid 1070; online
rmgr: Standby     len (rec/tot):     50/    50, tx:          0, lsn: 7/3403C660, prev 7/3403C5E8, desc: RUNNING_XACTS nextXid 1071 latestCompletedXid 1070 oldestRunningXid 1071
rmgr: Standby     len (rec/tot):     50/    50, tx:          0, lsn: 7/3403C698, prev 7/3403C660, desc: RUNNING_XACTS nextXid 1071 latestCompletedXid 1070 oldestRunningXid 1071
rmgr: XLOG        len (rec/tot):    114/   114, tx:          0, lsn: 7/3403C6D0, prev 7/3403C698, desc: CHECKPOINT_ONLINE redo 7/3403C698; tli 1; prev tli 1; fpw true; xid 0:1071; oid 32873; multi 4; offset 9; oldest xid 726 in DB 1; oldest multi 1 in DB 1; oldest/newest commit timestamp xid: 0/0; oldest running xid 1071; online

那么这里需要说明通过pg_waldump 本身是无法给你解析出类似 mysqlbinlog 那样的解析出实际操作的数据的,pg_waldump 本身是在告诉你pg_wal 中的日志本身操作后写入的方式和数据类型,同时pg_wal 本身另一个功能更是将日志中的数据统计信息进行输出,如下方截图中的部分。

从下图可以看到,FPI ,full page write 所在日志中占据的比重,通过pg_waldump 中的 -z 参数

 pg_waldump  /pgdata/data/pg_wal/00000001000000070000000D -s 7/34022068  -e 7/3403C748   -z 

c7e3bfd816bc6d79cbd2cfd1f8b21331.png

aeaae1daadebc901d78031e0722d2467.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/117828.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言入门 Day_12 一维数组

目录 前言 1.创建一维数组 2.使用一维数组 3.易错点 4.思维导图 前言 存储一个数据的时候我们可以使用变量, 比如这里我们定义一个记录语文考试分数的变量chinese_score,并给它赋值一个浮点数(float)。 float chinese_scoe…

【计算机网络】序列化与反序列化

文章目录 1. 如何处理结构化数据?序列化 与 反序列化 2. 实现网络版计算器1. Tcp 套接字的封装——sock.hpp创建套接字——Socket绑定——Bind将套接字设置为监听状态——Listen获取连接——Accept发起连接——Connect 2. 服务器的实现 ——TcpServer.hpp初始化启动…

Nuxt 菜鸟入门学习笔记四:静态资源

文章目录 public 目录assets 目录全局样式导入 Nuxt 官网地址: https://nuxt.com/ Nuxt 使用以下两个目录来处理 CSS、fonts 和图片等静态资源: public 目录 public 目录用作静态资产的公共服务器,可通过应用程序定义的 URL 公开获取。 换…

隧道结构健康监测系统,保障隧道稳定安全运行

隧道是地下隐蔽工程,会受到潜在、无法预知的地质因素影响,早期修建的隧道经常出现隧道拱顶开裂、地表沉降、隧道渗漏水、围岩变形、附近建筑物倾斜等隧道的健康问题变得日益突出,作为城市生命线不可或缺的一部分,为了确保隧道工程…

Go 官方标准编译器中所做的优化

本文是对#102 Go 官方标准编译器中实现的优化集锦汇总[1] 内容的记录与总结. 优化1-4: 字符串和字节切片之间的转化 1.紧跟range关键字的 从字符串到字节切片的转换; package mainimport ( "fmt" "strings" "testing")var cs10086 s…

图像翻拍检测——反射分量分离的特征融合

随着计算机技术的迅速发展,需要建立人与信息一一对应的安保认证技术,通过建立完整的映射网络体系,从而确保每个人的人身、财产、隐私等的安全.与指纹、基因等人体生物特征识别系统相比,人脸识别系统更加友好,不需要人的…

unity面试题(性能优化篇)

CPU 预处理、缓存数据 注释空的unity函数 运算cpu->gpu 减少昂贵计算(开方) 限制帧数 加载(预加载、分帧加载、异步加载、对象池) 慎用可空类型比较 避免频繁计算(分帧、隔帧) 算法优化 变体收集预热 使用clear操作代替容器的new操作 unity spine使用二进制格式…

Data Rescue Professional for Mac:专业的数据恢复工具

在数字化时代,我们的生活和工作离不开电脑和存储设备。但是,意外情况时常发生,例如误删除文件、格式化硬盘、病毒攻击等,这些都可能导致重要的数据丢失。面对数据丢失,我们迫切需要一款可靠的数据恢复工具。今天&#…

CentOS 8 安装 Code Igniter 4

在安装好LNMP运行环境基础上,将codeigniter4文件夹移动到/var/nginx/html根目录下,浏览器地址栏输入IP/codeigniter/pulbic 一直提示: Cache unable to write to "/var/nginx/html/codeigniter/writable/cache/". 找了好久&…

文献阅读:Semantic Communications for Speech Signals

目录 论文简介动机:为什么作者想要解决这个问题?贡献:作者在这篇论文中完成了什么工作(创新点)?规划:他们如何完成工作?自己的看法(作者如何得到的创新思路) 论文简介 作者 Zhenzi Weng Zhijin Qin Geoffre…

【MySQL】用户管理

之前我们一直都使用root身份来对mysql进行操作,但这样存在安全隐患。这时,就需要使用MySQL的用户管理 目录 一、用户 1.1 用户信息 1.2 添加用户 1.3 删除用户 1.4 修改用户密码 二、用户权限 2.1 赋予授权 2.2 回收权限 一、用户 1.1 用户信息…

Kubernetes技术--使用kubeadm快速部署一个K8s集群

这里我们配置一个单master集群。(一个Master节点,多个Node节点) 1.硬件环境准备 一台或多台机器,操作系统 CentOS7.x-86_x64。这里我们使用安装了CentOS7的三台虚拟机 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多 2.主机名称和IP地址规划 3. 初始化准备工作…

Scala的函数式编程与高阶函数,匿名函数,偏函数,函数的闭包、柯里化,抽象控制,懒加载等

Scala的函数式编程 函数式编程 解决问题时,将问题分解成一个一个的步骤,将每个步骤进行封装(函数),通过调用这些封装好的步骤,解决问题。 例如:请求->用户名、密码->连接 JDBC->读取…

【LeetCode】1654:到家的最少跳跃次数的解题思路 关于力扣无法return的BUG的讨论

文章目录 一、题目二、题解与代码三、神奇的BUG3.1 无法执行的 return 和 break 语句3.2 通过另一个 break 解决 一、题目 有一只跳蚤的家在数轴上的位置 x 处。请你帮助它从位置 0 出发,到达它的家。 跳蚤跳跃的规则如下: 它可以 往前 跳恰好 a 个位…

【C++深入浅出】类和对象上篇(类的基础、类的模型以及this指针)

目录 一. 前言 二. 面向对象与面向过程 2.1 面向过程 2.2 面向对象 三. 类的基础知识 3.1 类的引入 3.2 类的定义 3.3 成员变量的命名规则 3.4 封装 3.5 类的访问限定符 3.6 类的作用域 3.7 类的实例化 四. 类的对象模型 4.1 类对象的大小 4.2 类对象的存储方式 …

在 WSL2 中使用 NVIDIA Docker 进行全栈开发和深度学习 TensorFlow pytorch GPU 加速

在 WSL2 中使用 NVIDIA Docker 进行全栈开发和深度学习 TensorFlow pytorch GPU 加速 0. 背景 0.1 起源 生产环境都是在 k8d pod 中运行,直接在容器中开发不好嘛?每次换电脑,都要配配配,呸呸呸新电脑只安装日常用的软件不好嘛&…

【从0学习Solidity】合约入门 Hello Web3

【学习Solidity的基础】入门智能合约开发 Hello Web3 📱不写代码没饭吃上架主页 在强者的眼中,没有最好,只有更好。我们是全栈开发领域的优质创作者,同时也是阿里云专家博主。 ✨ 关注我们的主页,探索全栈开发的无限…

【斗罗Ⅱ】最强武魂揭秘,98级玄老、95级言少哲神兽级武魂曝光

Hello,小伙伴们,我是小郑继续为大家深度解析【绝世唐门】 在斗罗大陆动画绝世唐门中,98级玄老已经登场,他是一个很随意的老人,乍眼一看,似乎是一个邋里邋遢、好吃懒做的人,但是实际上他却是史莱克学院重量级…

Linux(CentOS7)下如何配置多个Tomcat容器?

一、在 liunx 系统安装 jdk 1、安装jdk(yum install 安装) 查看是否系统是否自带jdk并卸载 rpm -qa |grep java rpm -qa |grep jdk rpm -qa |grep gcj 其中,GCJ是GNU的Java编译器,可以把java程序编译成本地代码,编译成功后的可…

JixiPix Artista Impresso Pro for mac(油画滤镜效果软件)

JixiPix Artista Impresso pro Mac是一款专业的图像编辑软件,专为Mac用户设计。它提供了各种高质量的图像编辑工具,可以帮助您创建令人惊叹的图像。该软件具有直观的用户界面,使您可以轻松地浏览和使用各种工具。 它还支持多种文件格式&…