pg_waldump — 显示 PostgreSQL 数据库集群的预写式日志的人类可读呈现
pg_waldump [选项...] [起始段 [结束段]]
pg_waldump 显示预写式日志 (WAL),主要用于调试或教育目的。
此实用程序只能由安装服务器的用户运行,因为它需要对数据目录的只读访问权限。
以下命令行选项控制输出的位置和格式
起始段从指定的 WAL 段文件开始读取。 这隐式地确定了将搜索文件的路径以及要使用的时间线。
结束段在读取指定的 WAL 段文件后停止。
-b--bkp-details输出有关备份块的详细信息。
-B 块--block=块仅显示修改给定块的记录。还必须使用 --relation 或 -R 提供关系。
-e 结束--end=结束在指定的 WAL 位置停止读取,而不是读取到日志流的末尾。
-f--follow在到达有效的 WAL 末尾后,保持每秒轮询一次,以查看是否有新的 WAL 出现。
-F 分支--fork=分支仅显示修改给定分支中的块的记录。有效值是主分支的 main、空闲空间映射的 fsm、可见性映射的 vm 以及初始分支的 init。
-n 限制--limit=限制显示指定数量的记录,然后停止。
-p 路径--path=路径指定一个目录来搜索 WAL 段文件,或一个包含 pg_wal 子目录的目录,该子目录包含这些文件。 默认是在当前目录、当前目录的 pg_wal 子目录以及 PGDATA 的 pg_wal 子目录中进行搜索。
-q--quiet不打印任何输出,除非出现错误。 当您想知道是否可以成功解析一系列 WAL 记录,但不关心记录内容时,此选项可能很有用。
-r rmgr--rmgr=rmgr仅显示由指定的资源管理器生成的记录。您可以多次指定该选项以选择多个资源管理器。如果将 list 作为名称传递,则打印有效资源管理器名称的列表并退出。
扩展可以定义自定义资源管理器,但 pg_waldump 不加载扩展模块,因此无法通过名称识别自定义资源管理器。相反,您可以将自定义资源管理器指定为 custom###,其中 ### 是三位数的资源管理器 ID。这种形式的名称将始终被认为是有效的。
-R 表空间/数据库/关系--relation=表空间/数据库/关系仅显示修改给定关系中块的记录。 该关系使用表空间 OID、数据库 OID 和 relfilenode(用斜杠分隔)指定,例如 1234/12345/12345。 这与程序输出中关系使用的格式相同。
-s 开始--start=开始开始读取的 WAL 位置。默认是从最早找到的文件中找到的第一个有效 WAL 记录开始读取。
-t 时间线--timeline=时间线从中读取 WAL 记录的时间线。 默认值是使用 起始段 中的值(如果已指定);否则,默认值为 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=保存路径将 WAL 记录中找到的完整页面映像保存到 保存路径 目录。保存的图像受与显示的记录相同的过滤和限制条件的约束。
完整页面图像以以下文件名格式保存: 文件名由以下部分组成时间线-LSN.RELTABLESPACE.DATOID.RELNODE.BLKNO_分支
| 组件 | 描述 |
|---|---|
| 时间线 | WAL 段文件的时间线,其中记录的位置格式为 8 个字符的十六进制数 %08X |
| LSN | TheLSN此映像的记录,格式为两个 8 个字符的十六进制数字 %08X-%08X |
| RELTABLESPACE | 块的表空间 OID |
| DATOID | 块的数据库 OID |
| RELNODE | 块的文件节点 |
| BLKNO | 块的块号 |
| 分支 | 完整页面映像来自的分支的名称,例如 main、fsm、vm 或 init。 |
-?--help显示关于 pg_waldump 命令行参数的帮助并退出。
PGDATA数据目录;另请参阅 -p 选项。
PG_COLOR指定是否在诊断消息中使用颜色。 可能的值为 always、auto 和 never。
当服务器正在运行时可能会给出错误的结果。
仅显示指定的时间线(或默认时间线,如果未指定)。 将忽略其他时间线中的记录。
pg_waldump 无法读取带有后缀 .partial 的 WAL 文件。 如果需要读取这些文件,则需要从文件名中删除 .partial 后缀。
如果您在文档中看到任何不正确的内容,或者与您使用特定功能的体验不符,或者需要进一步澄清,请使用此表单报告文档问题。