pg_waldump — 显示 PostgreSQL 数据库集群的预写式日志的可读渲染
pg_waldump [选项...] [startseg [endseg]]
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如果提供了此选项,则仅显示修改给定 fork 中块的记录。有效值为 main(主 fork)、fsm(空闲空间映射)、vm(可见性映射)和 init(init fork)。
-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。此类形式的名称将始终被视为有效名称。
-R tblspc/db/rel--relation=tblspc/db/rel仅显示修改给定关系中的块的记录。关系使用表空间 OID、数据库 OID 和 relfilenode 指定,这些内容由斜杠分隔,例如 1234/12345/12345。这是程序输出中关系使用的相同格式。
-s start--start=start开始读取 WAL 的 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]显示汇总统计信息(记录和全页图像的数量和大小),而不是单个记录。可以选择生成按记录而不是按 rmgr 划分的统计信息。
如果 pg_waldump 被信号 SIGINT (Control+C) 终止,则会显示到终止点为止计算的统计信息的摘要。此操作不受 Windows 支持。
--save-fullpage=save_path将 WAL 记录中找到的整页图像保存到 save_path 目录。保存的图像受与显示的记录相同的筛选和限制条件的约束。
整页图像使用以下文件名格式保存: 文件名由以下部分组成TIMELINE-LSN.RELTABLESPACE.DATOID.RELNODE.BLKNOFORK
| 组件 | 说明 |
|---|---|
| TIMELINE | 记录所在的 WAL 段文件的时间线,格式为一个 8 位十六进制数字 %08X |
| LSN | 带有此图像的记录的 LSN,格式为两个 8 位十六进制数字 %08X-%08X |
| RELTABLESPACE | 块的表空间 OID |
| DATOID | 块的数据库 OID |
| RELNODE | 块的文件节点 |
| BLKNO | 块的块号 |
| FORK | 整页图像的来源分叉的名称,例如 _main、_fsm、_vm 或 _init。 |
-?--help显示有关 pg_waldump 命令行参数的帮助,然后退出。
PGDATA数据目录;另请参见 -p 选项。
PG_COLOR指定是否在诊断消息中使用颜色。可能的值为 always、auto 和 never。
服务器运行时可能会给出错误的结果。
仅显示指定的时间线(或未指定时显示默认时间线)。其他时间线中的记录将被忽略。
pg_waldump 无法读取后缀为 .partial 的 WAL 文件。如果需要读取这些文件,则需要从文件名中删除 .partial 后缀。
如果您在文档中看到任何不正确、与您对特定功能的体验不符或需要进一步澄清的内容,请使用 此表单 报告文档问题。