【发布时间】:2019-05-03 13:38:19
【问题描述】:
通过修改两台计算机的文件pg_hba.conf 和postgresql.conf,我已经能够在两台本地计算机之间进行 PostgreSQL 复制。
然后,在第一台计算机中,有一个正在自动填充的数据库,我们可以看到它正在实时显示。而在第二台计算机中,有复制的数据库链接到它,但我们无法实时看到它的更新。
我的问题是数据库确实在发生变化,所以复制工作正常,但它没有实时显示。
当我在psql 中使用命令时
select * from pg_stat_replication;
我在那里看到了我的复制,所以我认为发布和订阅都有效。但是在该命令显示的信息中,在sync_state 的部分中,它显示了async。也许我应该将其更改为sync 以使其实时工作(仍然不知道如何,我正在检查是“更改发布”还是“更改订阅”......还不确定)?
【问题讨论】:
-
看起来您正在使用逻辑复制。您如何更改主数据库?当您更改它时,您是否正在提交事务?
-
没错,我们正在使用逻辑复制。主数据库正在从另一个程序自动更改。我认为这笔交易已经提交,是的。