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.hqwc.cn/news/94263.html

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

相关文章

VBA快速插入签名(位置不固定)

实例需求:Excel中的多页表格如下图所示,其中包含多个“受益人签字”,其位置不固定,现在需要在其后插入签名图片。 签名图片为透明背景的PNG文件(左上角方框内的部分),图片文件属性信息如下图所示…

李宏毅hw1_covid19预测_代码研读+想办法降低validation的loss(Kaggle目前用不了)

1.考虑调整这个neural network的结构尝试让这个loss降低 (1)Linear(inputdim,64) - ReLU-Linear(64,1), loss0.7174 (2)Linear(inputdim,64) - ReLU-Linear(64,64) -ReLU-Linear(64,1),loss 0.6996 (3)这…

linux内网yum源服务器搭建

1.nginx: location / {root /usr/local/Kylin-Server-V10-SP3-General-Release-2303-X86_64;autoindex on;autoindex_localtime on;autoindex_exact_size off; } 注:指定到镜像的包名 2.修改yum源地址 cd /etc/yum.repos.d/vim kylin_x86_64.repo 注: --enabled设置为1 3.重…

Java面向对象:非访问修饰符、继承

继承的概念: 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法&#xf…

基于Open3D的点云处理16-特征点匹配

点云配准 将点云数据统一到一个世界坐标系的过程称之为点云配准或者点云拼接。(registration/align) 点云配准的过程其实就是找到同名点对;即找到在点云中处在真实世界同一位置的点。 常见的点云配准算法: ICP、Color ICP、Trimed-ICP 算法…

车联网仿真工具Veins安装指南(基于官方文档)

Veins安装指南 官方文档: tutorial 直接选择最easy的way: 下载一个虚拟机:VMware Workstation Player 下载即可。这个普通版是免费的,pro版正版是要收费的,可以找一些其他的方法下载pro版本,可以同时开…

RabbitMQ从原理到实战—基于Golang【万字详解】

文章目录 前言一、MQ是什么?优势劣势 二、MQ的用途1、应用解耦2、异步加速3、削峰填谷4、消息分发 三、RabbitMQ是什么1、AMQP 协议2、RabbitMQ 包含的要素3、RabbitMQ 基础架构 四、实战1、Simple模式(即最简单的收发模式)2、Work Queues 模型3、Publish/Subscribe…

matlab使用教程(28)—微分方程(ODE)求解常见问题

1.非负 ODE 解 本博客说明如何将 ODE 解约束为非负解。施加非负约束不一定总是可有可无,在某些情况下,由于方程的物理解释或解性质的原因,可能有必要施加非负约束。仅在必要时对解施加此约束,例如不这样做积分就会失败或者解将不…

DQL语句的用法(MySQL)

文章目录 前言一、DQL语句间接和语法1、DQL简介2、DQL语法 二、DQL语句使用1、基础查询(1)查询多个字段(2)为字段设置别名(3)去除重复记录 总结 前言 本文主要介绍SQL语句中DQL语句的功能和使用方法&#…

无涯教程-Android - 应用组件

应用程序组件是Android应用程序的基本组成部分,这些组件需要在应用程序清单文件 AndroidManifest.xml 注册,该文件描述了应用程序的每个组件以及它们如何交互。 Android应用程序可以使用以下四个主要组件- Sr.NoComponents & 描述1 Activities 它们…

【Maven】如何发现,定位,解决依赖冲突

发现冲突 运行的时候可能报出错误xx类找不到xx方法,xx类找不到,很有可能就是冲突导致的。 定位冲突根因 通过idea maven插件 idea安装插件,maven helper 比如我有两个依赖,guava和findbug。 他们都用到了jsr305,…

Linux入门之进程信号|信号产生的方式

文章目录 一、信号入门 1.linux信号的基本概念 2.使用kill -l 命令可以查看系统定义的信号列表 3.信号处理常见方式 二、产生信号 1.通过终端按键产生信号 2.通过调用系统函数向进程发信号 3.由软条件产生信号 4.硬件异常产生信号 1. /0异常 2.模拟野指针 一、信号入门…