pg_waldump
— 显示 PostgreSQL 数据库集群写预日志(WAL)的可读表示
pg_waldump
[选项
...] [起始段
[结束段
]]
pg_waldump
用于显示写预日志(WAL),主要用于调试或教育目的。
此实用程序只能由安装服务器的用户运行,因为它需要对数据目录的只读访问权限。
以下命令行选项控制输出的位置和格式
startseg
指定用于开始读取的 WAL 段文件。这会隐式确定搜索文件的路径以及要使用的时间线。
endseg
指定用于停止读取的 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=资源管理器
仅显示由指定的资源管理器生成的记录。您可以多次指定该选项以选择多个资源管理器。如果 list
作为名称传递,将打印有效的资源管理器名称列表并退出。
扩展程序可以定义自定义资源管理器,但 pg_waldump 不加载扩展模块,因此无法按名称识别自定义资源管理器。而是,您可以将自定义资源管理器指定为 custom###
,其中 ###
是三位数字的资源管理器 ID。此形式的名称将始终被视为有效。
-R 表空间
/数据库
/关系
--relation=表空间
/数据库
/关系
仅显示修改了给定关系中块的记录。关系以表空间 OID、数据库 OID 和 relfilenode 的形式指定,用斜杠分隔,例如 1234/12345/12345
。这与程序输出中用于关系的格式相同。
-s 开始
--start=开始
用于开始读取的 WAL 位置。默认情况下,将从找到的最早文件中的第一个有效 WAL 记录开始读取。
-t 时间线
--timeline=时间线
用于读取 WAL 记录的时间线。默认情况下,如果指定了 startseg
,则使用 startseg
中的值;否则,默认值为 1。该值可以以十进制或十六进制指定,例如 17
或 0x11
。
-V
--version
打印 pg_waldump 版本并退出。
-w
--fullpage
仅显示包含完整页面映像的记录。
-x 事务 ID
--xid=事务 ID
仅显示标记有给定事务 ID 的记录。
-z
--stats[=record]
显示摘要统计信息(记录和完整页面映像的数量和大小),而不是单个记录。可以选择按记录而不是按资源管理器生成统计信息。
如果 pg_waldump 被信号 SIGINT(Ctrl+C)终止,将显示截至终止点的统计信息摘要。此操作在 Windows 上不受支持。
--save-fullpage=保存路径
将 WAL 记录中找到的完整页面映像保存到 保存路径
目录。保存的映像受与显示的记录相同的过滤和限制标准的影响。
完整页面映像以以下文件名格式保存:
文件名由以下部分组成:时间线
-LSN
.表空间OID
.数据库OID
.节点OID
.块号
_分支
组件 | 描述 |
---|---|
TIMELINE | 包含记录的 WAL 段文件的时间线,格式为 8 位十六进制数字 %08X |
LSN | 该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
后缀。
如果您在文档中发现任何不正确、与您对特定功能的经验不符或需要进一步说明的内容,请使用 此表单 报告文档问题。