postgresql - 将 PostgreSQL mod 日志转换为语句

标签 postgresql postgresql-8.4

我最近刚从本地计算机上的数据库切换到 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 &lt;unnamed&gt;: 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/

相关文章:

PHP - bindValue() 的 PDO 问题

Postgresql,将文本作为日期时间进行比较

ruby-on-rails-3 - 在 Heroku 上的 Postgres 中存储 float 组

sql - 跳过特定条件的 SQL 间隙和正确的 Lead() 使用

sql - Postgresql 8.4 - 限制窗口函数范围

postgresql - 无法使用 docker compose 通过 postgresql 启动 FastAPI 服务器

postgresql-13-postgis-3 : Depends: libgdal20 (>= 2. 0.1) 但它不会被安装

postgresql - 间隔的翻译

postgresql - 无法使 log_min_duration_statement 起作用

directory - 从 pg_data 目录恢复 Postgres 数据库