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 不够.);
如果您需要解析此记录,只需添加一些较早的 wal 段即可。
具体用法请查看开源代码中的 README.EN.MD。
如果您发现错误或有好的建议,可以通过电子邮件(lchch1990@sina.cn)联系我。