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

时间:2019-04-24 10:50:32

标签: postgresql postgresql-9.2

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

2 个答案:

答案 0 :(得分:4)

通常,Postgres中有两个选项可用于以某种人类可读的格式显示WAL:

  1. pg_waldump utility,但仅在9.3+中可用。您可以尝试将9.3中的pg_waldump与9.2 WAL一起使用,但我不确定是否成功。这可能会起作用,因为9.2中不应有任何新的WAL记录类型,而9.3中不存在。注意:在Postgres 10.0之前,pg_waldump被称为pg_xlogdump
  2. 也可以使用logical decoding,但从9.4开始可用。无论如何,通过逻辑解码,人们可以像wal2json一样使用various plugins以人类可读的格式导出记录。注意:逻辑解码可能不会解码每个WAL记录,这主要是关于DML(插入/更新/删除)

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

答案 1 :(得分:0)

您应该使用wal2json,但仅适用于pg9.4 +

https://github.com/eulerto/wal2json