Redrock Postgres 搜索 英文
版本: 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17

pg_waldump

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
--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 被信号 SIGINT (Control+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 块的文件节点
BLKNO 块的块号
FORK 包含完整页面图像的分支的名称,例如 mainfsmvminit
-?
--help

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

环境

PGDATA

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

PG_COLOR

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

备注

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

只显示指定的时间线(或默认值,如果没有指定)。忽略其他时间线中的记录。

pg_waldump无法读取具有后缀.partial的WAL文件。如果需要读取这些文件,则需要从文件名中删除.partial后缀。

另请参阅

第28.6节