我正在尝试第一次设置 wal 归档。我确实添加了具有正确权限的文件夹:
backup/wal
然后我将这些条目添加到 postgresql.conf 中:
wal_level=archive
archive_mode=on
archive_command = 'test ! -f /backup/wal/%f && cp %p /backup/wal/%f'
并成功进行了初始备份。我想仔细检查写入 wal 段的内容。有没有办法检查给定 wal 文件的 sql 语句?
我正在尝试第一次设置 wal 归档。我确实添加了具有正确权限的文件夹:
backup/wal
然后我将这些条目添加到 postgresql.conf 中:
wal_level=archive
archive_mode=on
archive_command = 'test ! -f /backup/wal/%f && cp %p /backup/wal/%f'
并成功进行了初始备份。我想仔细检查写入 wal 段的内容。有没有办法检查给定 wal 文件的 sql 语句?
您可以使用 . 检查 WAL 段的内容
pg_waldump
。但是,您不会在那里找到任何 SQL 语句,因为这不是记录事务的方式。WAL 包含非常低级的信息,告诉在哪个数据文件中修改什么。您
archive_command
将仅用于测试目的。你不应该在数据库机器上归档你的 WAL。WAL 跟踪数据更改,而不是导致这些更改的 SQL。您可以使用 pg_waldump 来解析 WAL,但它生成的可能不是您想要看到的。
od
您还可以使用或之类的东西查看 WAL 本身vim -Rb
。