pg_waldump — 以人类可读的形式显示一个PostgreSQL 数据库集簇的预写式日志
pg_waldump
[option
...] [startseg
[endseg
]]
pg_waldump
显示预写式日志(WAL),它主要
用于调试或者教育目的。
这个工具只能由安装该服务器的用户运行,因为它要求对数据目录的只读访问。
以下命令行选项控制输出的位置和格式:
startseg
从指定的日志段文件开始阅读。这隐含地确定了要搜索文件的路径和要使用的时间线。
endseg
在读取指定的日志段文件后停止。
-b
--bkp-details
输出有关备份块的详细信息。
-B block
--block=block
仅显示修改给定块的记录。关系还必须提供--relation
或
-R
。
-e end
--end=end
在指定的WAL位置停止读取,而不是读取到日志流的末尾。
-f
--follow
在到达有效WAL的末尾后,每秒轮询一次,直到新的WAL出现。
-F fork
--fork=fork
如果提供,则仅显示修改给定分支中的块的记录。
有效值为main
表示主分支,
fsm
表示自由空间图,
vm
表示可见性图,
以及init
表示初始化分支。
-n limit
--limit=limit
显示指定数量的记录,然后停止。
-p path
--path=path
指定一个目录,用于搜索日志段文件,或者一个包含这些文件的pg_wal
子目录的目录。
默认情况下,在当前目录、当前目录的pg_wal
子目录以及PGDATA
的pg_wal
子目录中搜索。
-q
--quiet
不要打印任何输出,除非出现错误。当您想知道一系列WAL记录是否可以成功解析,但不关心记录内容时,此选项可能很有用。
-r rmgr
--rmgr=rmgr
仅显示由指定资源管理器生成的记录。您可以多次指定该选项以选择多个资源管理器。
如果list
作为名称传递,则打印有效资源管理器名称列表,并退出。
扩展可以定义自定义资源管理器,但pg_waldump不加载扩展模块,因此不会按名称识别自定义资源管理器。相反,您可以将自定义资源管理器指定为custom###
,其中"###
"是三位数字的资源管理器ID。这种形式的名称始终被视为有效。
-R tblspc
/db
/rel
--relation=tblspc
/db
/rel
仅显示修改给定关系中的块的记录。关系由表空间OID、数据库OID和relfilenode以斜杠分隔指定,例如1234/12345/12345
。
这与程序输出中关系使用的格式相同。
-s start
--start=start
从哪个WAL位置开始读取。默认情况下,从找到的最早文件中找到的第一个有效日志记录开始读取。
-t timeline
--timeline=timeline
从中读取日志记录的时间轴。默认情况下,使用startseg
中的值,如果指定了的话;否则,默认值为1。
-V
--version
打印pg_waldump的版本并退出。
-w
--fullpage
仅显示包含完整页面图像的记录。
-x xid
--xid=xid
仅显示标记有给定交易ID的记录。
-z
--stats[=record]
显示摘要统计信息(记录数量和大小以及全页图像),而不是单个记录。可选择 生成每个记录而不是每个rmgr的统计信息。
如果pg_waldump被信号SIGINT (Control+C)终止, 则计算的统计摘要显示到终止点。这个操作在Windows上不受支持。
-?
--help
显示关于pg_waldump命令行参数的帮助信息,并退出。
PGDATA
数据目录;另请参阅 -p
选项。
PG_COLOR
规定在诊断消息中是否使用颜色。可能的值为always
、 auto
、never
。
当服务器正在运行时可能会给出错误的结果。
只有指定的时间线 会被显示(如果没有指定,则显示默认时间线)。 其他时间线上的记录会被忽略。
pg_waldump不能读取具有后缀.partial
的 WAL 文件。如果需要读取那些文件,需要从文件名中移除
.partial
后缀。