pg_waldump
描述 pg_waldump 显示预写式日志(WAL),主要用于调试或教学。 该工具只能由安装服务器的用户运行,因为它要求对数据目录具有只读访问权限。 选项 以下命令行选项控制输出的位置和格式: startseg 从指定的 WAL 段文件开始读取。这会隐式决定搜索文件时所使用的路径以及要使用的时间线。 endseg 读取完指定的 WAL 段文件后停止。 -b --bkp-details 输出有关备份块的详细信息。 -B block --block= block 只显示修改给定块的记录。还必须通过…
当前查看 PostgreSQL 18。
中文定义与说明
命令行工具 pg_waldump [ option ...] [ startseg [ endseg ]]。
同版本中文手册节选
描述
pg_waldump 显示预写式日志(WAL),主要用于调试或教学。
该工具只能由安装服务器的用户运行,因为它要求对数据目录具有只读访问权限。
选项
以下命令行选项控制输出的位置和格式:
startseg从指定的 WAL 段文件开始读取。这会隐式决定搜索文件时所使用的路径以及要使用的时间线。
endseg读取完指定的 WAL 段文件后停止。
-b--bkp-details输出有关备份块的详细信息。
-Bblock--block=block只显示修改给定块的记录。还必须通过
--relation或-R指定关系。-eend--end=end在指定的 WAL 位置停止读取,而不是一直读取到日志流末尾。
-f--follow在到达有效 WAL 的末尾后,继续每秒轮询一次,等待新的 WAL 出现。
-Ffork--fork=fork只显示修改给定分支中块的记录。有效值包括:主分支为
main,空闲空间映射为fsm,可见性映射为vm,初始化分支为init。-nlimit--limit=limit显示指定数量的记录,然后停止。
-ppath--path=path指定一个用于搜索 WAL 段文件的目录,或者指定一个包含
pg_wal子目录且其中包含此类文件的目录。默认会在当前目录、当前目录的pg_wal子目录以及PGDATA的pg_wal子目录中搜索。-q--quiet除错误外不打印任何输出。如果只想知道一段 WAL 记录能否被成功解析,而不关心记录内容,则此选项会很有用。
-rrmgr--rmgr=rmgr仅显示由指定资源管理器生成的记录。可以多次指定该选项以选择多个资源管理器。如果名称指定为
list,则会打印有效资源管理器名称列表并退出。扩展可以定义自定义资源管理器,但 pg_waldump 不会加载扩展模块,因此无法按名称识别自定义资源管理器。作为替代,可以将自定义资源管理器指定为
custom###,其中###是三位数的资源管理器 ID。这种形式的名称始终会被视为有效。-Rtblspc/db/rel--relation=tblspc/db/rel仅显示修改给定关系中块的记录。关系以表空间 OID、数据库 OID 和 relfilenode 的形式指定,中间用斜杠分隔,例如
1234/12345/12345。这与程序输出中关系所使用的格式相同。-sstart--start=start从指定的 WAL 位置开始读取。默认会从找到的最早文件中的第一条有效 WAL 记录开始读取。
-ttimeline--timeline=timeline读取 WAL 记录时所使用的时间线。默认使用
startseg中的值(如果指定了该参数);否则默认值为 1。该值可以用十进制或十六进制指定,如17或0x11。-V--version打印 pg_waldump 的版本并退出。
-w--fullpage仅显示包含整页镜像的记录。
-xxid--xid=xid仅显示标记有给定事务 ID 的记录。
-z--stats[=record]显示摘要统计信息(记录和整页镜像的数量及大小),而不是显示单条记录。还可以选择按记录类型而不是按资源管理器生成统计信息。
如果 pg_waldump 被信号 SIGINT(Control+C)终止,则会显示截至终止点为止计算出的统计摘要。此操作在 Windows 上不受支持。
--save-fullpage=save_path将 WAL 记录中找到的整页镜像保存到
save_path目录。保存的镜像会遵循与所显示记录相同的过滤和限制条件。整页镜像按下列文件名格式保存:
文件名由下列部分组成:TIMELINE-LSN.RELTABLESPACE.DATOID.RELNODE.BLKNO_FORK组成部分 说明 TIMELINE 记录所在 WAL 段文件的时间线,格式为一个 8 字符的十六进制数 %08XLSN 带有该镜像的记录的 LSN,格式为两个 8 字符的十六进制数 %08X-%08XRELTABLESPACE 块的表空间 OID DATOID 块的数据库 OID RELNODE 块的文件节点 BLKNO 块的块号 FORK 该整页镜像来源的分支名称,例如 main、fsm、vm或init。-?--help显示 pg_waldump 命令行参数的帮助信息,并退出。
说明
描述 pg_waldump 显示预写式日志(WAL),主要用于调试或教学。 该工具只能由安装服务器的用户运行,因为它要求对数据目录具有只读访问权限。 选项 以下命令行选项控制输出的位置和格式: startseg 从指定的 WAL 段文件开始读取。这会隐式决定搜索文件时所使用的路径以及要使用的时间线。 endseg 读取完指定的 WAL 段文件后停止。 -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 指定一个用于搜索 WAL 段文件的目录,或者指定一个包含 pg_wal 子目录且其中包含此类文件的目录。默认会在当前目录、当前目录的 pg_wal 子目录以及 PGDATA 的 pg_wal 子目录中搜索。 -q --quiet 除错误外不打印任何输出。如果只想知道一段 WAL 记录能否被成功解析,而不关心记录内容,则此选项会很有用。 -r rmgr --rmgr= rmgr 仅显示由指定资源管理器生成的记录。可以多次指定该选项以选择多个资源管理器。如果名称指定为 list ,则会打印有效资源管理器名称列表并退出。 扩展可以定义自定义资源管理器,但 pg_waldump 不会加载扩展模块,因此无法按名称识别自定义资源管理器。作为替代,可以将自定义资源管理器指定为 custom### ,其中 ### 是三位数的资源管理器 ID。这种形式的名称始终会
- 手册中的可执行程序
- pg_waldump
- 程序版本
- 18.6
- 参考清单
- 服务端程序
- 选项定义组
- 18
用法
pg_waldump [ option ...] [ 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 | 指定搜索 WAL 段文件的目录,或含有存放这些文件的 pg_wal 子目录的目录。默认搜索当前目录、当前目录的 pg_wal 子目录,以及 PGDATA 的 pg_wal 子目录。 |
| -q --quiet | 除错误外不打印任何输出。如果只想知道一段 WAL 记录能否被成功解析,而不关心记录内容,则此选项会很有用。 |
| -r rmgr --rmgr= rmgr | 仅显示由指定资源管理器生成的记录。可以多次指定该选项以选择多个资源管理器。如果名称指定为 list ,则会打印有效资源管理器名称列表并退出。 |
| -R tblspc / db / rel --relation= tblspc / db / rel | 仅显示修改给定关系中块的记录。关系以表空间 OID、数据库 OID 和 relfilenode 的形式指定,中间用斜杠分隔,例如 1234/12345/12345 。这与程序输出中关系所使用的格式相同。 |
| -s start --start= start | 从指定的 WAL 位置开始读取。默认会从找到的最早文件中的第一条有效 WAL 记录开始读取。 |
| -t timeline --timeline= timeline | 读取 WAL 记录所使用的时间线。如果指定了 startseg,默认使用其中的值;否则默认为 1。此值可以用十进制或十六进制表示,例如 17 或 0x11。 |
| -V --version | 打印 pg_waldump 的版本并退出。 |
| -w --fullpage | 仅显示包含整页镜像的记录。 |
| -x xid --xid= xid | 仅显示标记有给定事务 ID 的记录。 |
| -z --stats[=record] | 显示摘要统计信息(记录和整页镜像的数量及大小),而不是显示单条记录。还可以选择按记录类型而不是按资源管理器生成统计信息。 |
| --save-fullpage= save_path | 将 WAL 记录中找到的整页镜像保存到 save_path 目录。保存的镜像会遵循与所显示记录相同的过滤和限制条件。 |
| -? --help | 显示 pg_waldump 命令行参数的帮助信息,并退出。 |
环境变量
| 变量 | 含义 |
|---|---|
| PGDATA | 数据目录;另请参阅 -p 选项。 |
| PG_COLOR | 指定诊断消息是否使用颜色。可选值为 always 、 auto 和 never 。 |
文档与源码
来源构建
- 版本
- 18.6
- 构建
- https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2
- 来源指纹
ee8d1a3612338fd9adf250730cb640fcc5233b5491337cc00a316a44e3a0b9f8
版本比较
PostgreSQL 16 → 17: 属性变化。
以下差异保留原始字段名与英文源描述。
--- PostgreSQL 16
+++ PostgreSQL 17
@@ -43,7 +43,7 @@
"signature": "-f --follow"
},
{
- "description": "If provided, only display records that modify blocks in the given fork. The valid values are main for the main fork, fsm for the free space map, vm for the visibility map, and init for the init fork.",
+ "description": "Only display records that modify blocks in the given fork. The valid values are main for the main fork, fsm for the free space map, vm for the visibility map, and init for the init fork.",
"names": [
"-F fork",
"--fork= fork"
@@ -75,7 +75,7 @@
"signature": "-q --quiet"
},
{
- "description": "Only display records generated by the specified resource manager. You can specify the option multiple times to select multiple resource managers. If list is passed as name, print a list of valid resource manager names, and exit. Extensions may define custom resource managers, but pg_waldump does not load the extension module and therefore does not recognize custom resource managers by name. Instead, you can specify the custom resource managers as custom### where \" ### \" is the three-digit resource manager ID. Names of this form will always be considered valid.",
+ "description": "Only display records generated by the specified resource manager. You can specify the option multiple times to select multiple resource managers. If list is passed as name, print a list of valid resource manager names, and exit. Extensions may define custom resource managers, but pg_waldump does not load the extension module and therefore does not recognize custom resource managers by name. Instead, you can specify the custom resource managers as custom### where ### is the three-digit resource manager ID. Names of this form will always be considered valid.",
"names": [
"-r rmgr",
"--rmgr= rmgr"
比较已记录的接口与属性,排除来源指纹和构建元数据。某个样本中没有记录,不能据此判断实际引入或移除的版本。
相关条目
导出 JSON · 返回命令行工具 · 收录范围为 PostgreSQL 10 至 20;最早采样版本不一定是实际引入版本。