XlogMiner 是一個從 PostgreSQL 的 WAL 中解析已執行的 SQL 語句,並產生相應的撤銷 SQL 語句的工具。開源專案地址為 https://github.com/HighgoSoftware/XLogMiner。這個版本有很大的使用限制,您需要將 wal level 設置為 logical,並且需要將表設置為 IDENTITY FULL 模式。這可能會加劇 wal 的膨脹並降低資料庫效能。
為了適應 PG 日誌名稱的變更,XlogMiner 現在更名為 WalMiner。新的開源地址暫時位於 https://gitee.com/movead/XLogMiner。
舊版本的 xlogminer 工具的分析來源是當前 wal 記錄中的「變更資料」。它不會從 FPW 中的頁面獲取資料來解析 wal 記錄。
新版本的 walminer 不僅可以解析當前 wal 記錄的 FPW,還可以記錄和重做解析過程中出現的所有 FPW。因此,walminer 可以解析低階 wal,您無需將表設置為 IDENTITY FULL 模式。
此外
1. WalMiner 支援解析最低層級以上的任何 wal 日誌層級。
2. 無需將表設定為 IDENTITY FULL 模式。
3. 提高對系統表修改的 wal 記錄的解析度。
4. 修正了發生 relfilenode 變更後,在其他資料庫中解析失敗的錯誤。
Walminer 可以完全解析給定 wal 中第一個檢查點之後的所有 wal 記錄。第一個檢查點之前的刪除和更新記錄可能無法解析,如下所示
UPDATE "public"."t1" SET VALUES(NULL) (NOTICE:wal is not enought.);
如果您需要解析此記錄,您只需添加一些更早的 wal 片段即可。
具體用法請參閱開源程式碼中的 README.EN.MD。
如果您發現錯誤或有好的建議,您可以透過電子郵件 (lchch1990@sina.cn) 與我聯絡。