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

7

我想读取PostgreSQL的wal文件。它是一个二进制文件,我无法以文本格式读取wal文件数据。有人能帮助我吗?是否有任何命令或方法可以读取wal文件数据?


不相关,但是:你真的还在使用Postgres 9.2吗?那个版本已经不再受支持,你应该立即计划升级到一个受支持的版本。 - user330315
2个回答

7
通常,在Postgres中有两个选项可以将WAL以某种人类可读的格式呈现出来:
  1. pg_waldump 实用程序,但只适用于9.3+。您可以尝试使用9.3中的pg_waldump来处理9.2 WALs,但我不确定是否成功。它可能会起作用,因为在9.2中不应该有任何新的WAL记录类型,这些类型在9.3中不存在。注意:pg_waldump在Postgres 10.0之前被称为pg_xlogdump
  2. 还可以利用逻辑解码,但它仅适用于9.4以上版本。无论如何,逻辑解码可以使用各种插件wal2json以人类可读的格式导出记录。注意:逻辑解码可能无法解码每个WAL记录,它主要涉及DML(插入/更新/删除)
因此,我强烈建议将您的集群升级到至少Postgres 9.4。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接