我最近刚从本地计算机上的数据库切换到 PostgreSQL。当我在无法访问 Internet 的地方进行现场研究时,我将整个数据库导出到另一台机器(笔记本电脑)。之前,我曾使用二进制日志来更新对数据库主版本的更改,并尝试使用 PostgreSQL 的 mod 日志来替代二进制日志。我直接使用 PgAdmin 输入的查询成功了;但是,对于我使用前端 (Wavemaker) 处理的查询,日志在两列中显示语句,例如:
execute <unnamed>: insert into schema.table (col1, col2, col3) values ($1,$2,$3)
parameters: $1 = 'value1', $2 = 'value2', $3 = 'value3'
或者:
execute <unnamed>: delete from schema.table where key=$1
parameters: $1 = 'keyvalue'
我查看了有关 PREPARE 的信息在 PostgreSQL 中;但是,看起来我必须定义数据类型才能执行此操作(CSV 报告未列出)。
在上述情况下,是否有任何方法可以转换日志内容,使查询可读以供 PostgreSQL 处理?
感谢您提供的任何帮助。
最佳答案
这里有两个基本选项。第一个是逻辑复制解决方案,如 Slony-I 和复制元组,或者如 Craig 建议的那样,只进行基于磁盘的复制。后者当然更简单。前者为您提供更多实时数据。
但是,如果您尝试进行基于日志的复制,Slony、Bucardo 或 Londiste 可能是您的最佳选择。
关于postgresql - 将 PostgreSQL mod 日志转换为语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12488381/