5

PostgreSQL 数据库服务器将“更改数据”存储在 WAL 日志文件中,我想将归档日志文件解析为 sql,就像将 mysqlbinlog binlog 文件解析为 sql 一样,我可以找到应用程序执行 sql。有没有人有这样的工具?

4

4 回答 4

2

你不能。这是对实际磁盘块的更改。

如果您愿意,可以将服务器设置为将所有 SQL 语句记录到文件中。不确定您是否能够在不非常清楚事务边界的情况下重放它们。

于 2013-11-19T07:35:51.127 回答
2

此功能目前正在开发中。(寻找 Andres Freund 的“逻辑复制”补丁。)这是一个巨大的项目,所以不要屏住呼吸。简短的回答是:目前不可能。

于 2013-11-19T17:01:30.043 回答
1

如果您喜欢冒险,xlogdump可能会帮助您从 WAL 段中提取数据。如果您真的只需要在集群中执行的 SQL,则设置log_min_duration_statement = 0为记录所有语句。

于 2013-11-19T14:44:27.447 回答
0

现在您可以使用 SQL 进行复制。看pglogical。但是,它不包括架构更改。

于 2017-04-13T19:49:07.723 回答