如何读取PostgreSQL Wal文件数据?是否有任何命令可将PostgreSQL二进制文件转换为可读文本格式?

Rah*_*ari 5 postgresql postgresql-9.2

我正在尝试读取PostgreSQL wal文件。它是一个二进制文件,我无法读取wal文本格式的文件数据。谁能帮我这个忙。是否有任何命令或其他东西可以读取wal文件数据?

olo*_*bus 5

通常,Postgres 中有两个选项可以以某种人类可读的格式呈现 WAL:

  1. pg_waldump 实用程序,但它仅在 9.3+ 中可用。您可以尝试将pg_waldump9.3 与 9.2 WAL 一起使用,但我不确定是否成功。它可能会起作用,因为 9.2 中不应该有任何新的 WAL 记录类型,而这些类型在 9.3 中不存在。注意:pg_waldumppg_xlogdumpPostgres 10.0 之前被调用
  2. 也可以使用逻辑解码,但它从 9.4 开始可用。无论如何,通过逻辑解码,您可以使用各种插件,例如wal2json以人类可读的格式导出记录。注意:逻辑解码可能不会解码每个 WAL 记录,主要是关于 DML(插入/更新/删除)

因此,我强烈建议至少将您的集群升级到 Postgres 9.4。


小智 0

你应该使用 wal2json,但它只适用于 pg9.4+

https://github.com/eulerto/wal2json