受支持版本: 当前版本 (18) / 当前版本 (18) / 17 / 17 / 16 / 16 / 15 / 15 / 14 / 14
开发版本: devel / devel

pg_waldump

pg_waldump — 以人类可读形式显示PostgreSQL数据库集簇的预写式日志

Synopsis

pg_waldump [option...] [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 #

只显示修改给定分支中块的记录。有效值包括:主分支为main, 空闲空间映射为fsm,可见性映射为vm, 初始化分支为init

-n limit
--limit=limit #

显示指定数量的记录,然后停止。

-p path
--path=path #

指定一个用于搜索 WAL 段文件的目录,或者指定一个包含 pg_wal子目录且其中包含此类文件的目录。默认会在当前目录、 当前目录的pg_wal子目录以及PGDATApg_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 记录开始读取。

-t timeline
--timeline=timeline #

读取 WAL 记录时所使用的时间线。默认使用startseg中的值 (如果指定了该参数);否则默认值为 1。该值可以用十进制或十六进制指定, 如170x11

-V
--version #

打印pg_waldump的版本并退出。

-w
--fullpage #

仅显示包含整页镜像的记录。

-x xid
--xid=xid #

仅显示标记有给定事务 ID 的记录。

-z
--stats[=record] #

显示摘要统计信息(记录和整页镜像的数量及大小),而不是显示单条记录。 还可以选择按每条记录而不是按每个 rmgr 生成统计信息。

如果pg_waldump被信号SIGINTControl+C)终止, 则会显示截至终止点为止计算出的统计摘要。此操作在Windows 上不受支持。

--save-fullpage=save_path #

将 WAL 记录中找到的整页镜像保存到save_path目录。 保存的镜像会遵循与所显示记录相同的过滤和限制条件。

整页镜像按下列文件名格式保存: TIMELINE-LSN.RELTABLESPACE.DATOID.RELNODE.BLKNO_FORK 文件名由下列部分组成:

组成部分 说明
TIMELINE 记录所在 WAL 段文件的时间线,格式为一个 8 字符的十六进制数 %08X
LSN 带有该镜像的记录的LSN,格式为两个 8 字符的十六进制数 %08X-%08X
RELTABLESPACE 块的表空间 OID
DATOID 块的数据库 OID
RELNODE 块的 filenode
BLKNO 块的块号
FORK 该整页镜像来源的分支名称,例如 mainfsmvminit
-?
--help #

显示pg_waldump命令行参数的帮助信息,并退出。

环境

PGDATA #

数据目录;另请参阅-p选项。

PG_COLOR #

指定是否在诊断消息中使用颜色。可能的值为alwaysautonever

注解

服务器运行时,可能给出错误的结果。

只显示指定的时间线(如果未指定,则使用默认时间线)。 其他时间线中的记录会被忽略。

pg_waldump不能读取带有.partial后缀的 WAL 文件。如果需要读取这些文件,则必须从文件名中移除.partial 后缀。

提交更正

如果您发现文档中有不正确的内容、与您使用特定功能的经验不符或需要进一步说明,请使用此表单来报告文档问题。