PostgreSQL 10.x 常用工具(一)
- 参数介绍
postgres@CLW-DB4:/pgdata/10/data/pg_wal> pg_waldump --help
pg_waldump decodes and displays PostgreSQL write-ahead logs for debugging.
Usage:
pg_waldump [OPTION]... [STARTSEG [ENDSEG]]
STARTSEG 从指定的日志段文件开始读取。这也隐含地决定了要搜索文件的路径以及 要使用的时间线。
ENDSEG 在读取指定的日志段文件后停止。
Options:
-b, --bkp-details 输出有关备份块的细节。
-e, --end=RECPTR 在指定的日志位置停止读取,而不是一直读取到日志流的末尾。
-f, --follow 在到达可用 WAL 的末尾之后,保持每秒轮询一次是否有新的 WAL 出现。
-n, --limit=N 显示指定数量的记录,然后停止。
-p, --path=PATH 要在哪个目录中寻找日志段文件。默认是在当前目录的pg_xlog 子目录中搜索。
-r, --rmgr=RMGR 只显示由指定资源管理器生成的记录。如果把list作为资源管理器名称 传递给这个选项,则打印出可用资源管理器名称的列表然后退出。
-s, --start=RECPTR 要从哪个日志位置开始读取。默认是从找到的最早的文件的第一个可用日志记录开始。
-t, --timeline=TLI 要从哪个时间线读取日志记录。默认是使用startseg(如果指定) 中的值,否则默认为 1
-V, --version 打印pg_xlogdump版本并且退出。
-x, --xid=XID 只显示用给定事务 ID 标记的记录。
-z, --stats[=record] 显示概括统计信息(记录的数量和尺寸以及全页镜像)而不是显示 每个记录。可以选择针对每个记录生成统计信息,而不是针对每个 资源管理器生成。
-?, --help show this help, then exit
- 展示 wal 中所有的资源管理名称
[postgres@ycdb 20200921] pg_waldump --rmgr=list
XLOG
Transaction
Storage
CLOG
Database
Tablespace
MultiXact
RelMap
Standby
Heap2
Heap
Btree
Hash
Gin
Gist
Sequence
SPGist
BRIN
CommitTs
ReplicationOrigin
Generic
LogicalMessage
- 展示
STARTSEG
到ENDSEG
的事务日志
[postgres@db pg_wal]$ pg_waldump 000000010000000000000001 000000010000000000000002
...
rmgr: XLOG len (rec/tot): 106/ 106, tx: 553, lsn: 0/0162C8A8, prev 0/0162C870, desc: CHECKPOINT_ONLINE redo 0/162C870; tli 1; prev tli 1; fpw true; xid 0:554; oid 19719; multi 1; offset 0; oldest xid 548 in DB 1; oldest multi 1 in DB 1; oldest/newest commit timestamp xid: 0/0; oldest running xid 553; online
rmgr: Transaction len (rec/tot): 66/ 66, tx: 553, lsn: 0/0162C918, prev 0/0162C8A8, desc: COMMIT 2018-06-26 09:23:05.669905 CST; inval msgs: catcache 21; sync
rmgr: Heap len (rec/tot): 54/ 306, tx: 554, lsn: 0/0162C960, prev 0/0162C918, desc: INSERT off 3, blkref #0: rel 1664/0/2396 blk 0 FPW
rmgr: Btree len (rec/tot): 53/ 153, tx: 554, lsn: 0/0162CA98, prev 0/0162C960, desc: INSERT_LEAF off 3, blkref #0: rel 1664/0/2397 blk 1 FPW
rmgr: Transaction len (rec/tot): 66/ 66, tx: 554, lsn: 0/0162CB38, prev 0/0162CA98, desc: COMMIT 2018-06-26 09:23:05.670051 CST; inval msgs: snapshot 239
....
- 日志参数介绍
rmgr : 资源名称
lsn: 0/0162D3F0 日志编号
prev 0/0162D3B8
desc : 对日志详细信息的描述
xid 事务id
常用命令:
#查看两个wal之间事务
[postgres@db pg_wal]$ pg_waldump -b -f -r Transaction 000000010000000000000002 000000010000000000000003
#查看两个wal之间统计信息
[postgres@db 20200921]$ pg_waldump -z 00000001000000DC000000C2 00000001000000DC000000C4
Type N (%) Record size (%) FPI size (%) Combined size (%)
---- - --- ----------- --- -------- --- ------------- ---
XLOG 5 ( 62.50) 300 ( 66.67) 0 ( 0.00) 300 ( 66.67)
Transaction 0 ( 0.00) 0 ( 0.00) 0 ( 0.00) 0 ( 0.00)
Storage 0 ( 0.00) 0 ( 0.00) 0 ( 0.00) 0 ( 0.00)
CLOG 0 ( 0.00) 0 ( 0.00) 0 ( 0.00) 0 ( 0.00)
Database 0 ( 0.00) 0 ( 0.00) 0 ( 0.00) 0 ( 0.00)
Tablespace 0 ( 0.00) 0 ( 0.00) 0 ( 0.00) 0 ( 0.00)
MultiXact 0 ( 0.00) 0 ( 0.00) 0 ( 0.00) 0 ( 0.00)
RelMap 0 ( 0.00) 0 ( 0.00) 0 ( 0.00) 0 ( 0.00)
Standby 3 ( 37.50) 150 ( 33.33) 0 ( 0.00) 150 ( 33.33)
Heap2 0 ( 0.00) 0 ( 0.00) 0 ( 0.00) 0 ( 0.00)
Heap 0 ( 0.00) 0 ( 0.00) 0 ( 0.00) 0 ( 0.00)
Btree 0 ( 0.00) 0 ( 0.00) 0 ( 0.00) 0 ( 0.00)
Hash 0 ( 0.00) 0 ( 0.00) 0 ( 0.00) 0 ( 0.00)
Gin 0 ( 0.00) 0 ( 0.00) 0 ( 0.00) 0 ( 0.00)
Gist 0 ( 0.00) 0 ( 0.00) 0 ( 0.00) 0 ( 0.00)
Sequence 0 ( 0.00) 0 ( 0.00) 0 ( 0.00) 0 ( 0.00)
SPGist 0 ( 0.00) 0 ( 0.00) 0 ( 0.00) 0 ( 0.00)
BRIN 0 ( 0.00) 0 ( 0.00) 0 ( 0.00) 0 ( 0.00)
CommitTs 0 ( 0.00) 0 ( 0.00) 0 ( 0.00) 0 ( 0.00)
ReplicationOrigin 0 ( 0.00) 0 ( 0.00) 0 ( 0.00) 0 ( 0.00)
Generic 0 ( 0.00) 0 ( 0.00) 0 ( 0.00) 0 ( 0.00)
LogicalMessage 0 ( 0.00) 0 ( 0.00) 0 ( 0.00) 0 ( 0.00)
-------- -------- -------- --------
Total 8 450 [100.00%] 0 [0.00%] 450 [100%]
参考:https://blog.csdn.net/yaoqiancuo3276/article/details/80826073