2025年9月25日: PostgreSQL 18 釋出!
支援的版本: 當前 (18) / 17 / 16 / 15 / 14 / 13
開發版本: devel
不受支援的版本: 12 / 11 / 10

pg_waldump

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 子目錄以及 PGDATApg_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。該值可以以十進位制或十六進位制指定,例如 170x11

-V
--version

列印 pg_waldump 版本並退出。

-w
--fullpage

僅顯示包含完整頁面映像的記錄。

-x 事務 ID
--xid=事務 ID

僅顯示標記有給定事務 ID 的記錄。

-z
--stats[=record]

顯示摘要統計資訊(記錄和完整頁面映像的數量和大小),而不是單個記錄。可以選擇按記錄而不是按資源管理器生成統計資訊。

如果 pg_waldump 被訊號 SIGINTCtrl+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 完整頁面映像來自的分支名稱,例如 mainfsmvminit
-?
--help

顯示有關 pg_waldump 命令列引數的幫助資訊,然後退出。

環境變數

PGDATA

資料目錄;另請參閱 -p 選項。

PG_COLOR

指定是否在診斷訊息中使用顏色。可能的值為 alwaysautonever

註釋

伺服器執行時可能給出錯誤的結果。

僅顯示指定的時間線(如果未指定,則為預設時間線)。忽略其他時間線中的記錄。

pg_waldump 無法讀取字尾為 .partial 的 WAL 檔案。如果需要讀取這些檔案,需要從檔名中刪除 .partial 字尾。

另請參閱

第 28.6 節

提交更正

如果您在文件中發現任何不正確、與您對特定功能的經驗不符或需要進一步說明的內容,請使用 此表單 報告文件問題。