Postgres db复制未实时显示

时间:2019-05-03 13:38:20

标签: postgresql replication

通过修改两台计算机的文件pg_hba.confpostgresql.conf,我已经能够在两台本地计算机之间进行PostgreSQL复制。

然后,在第一台计算机中,有一个数据库正在自动填充,我们可以看到它实时显示。在第二台计算机中,有链接的复制数据库,但是我们无法实时查看其更新。

我的问题是数据库确实在变化,因此复制有效,但无法实时显示。

当我在psql中使用命令时

select * from pg_stat_replication;

我在这里看到我的复制品,因此我认为发布和订阅都有效。但是在此命令显示的信息中,sync_state的一部分显示了async。也许我应该将其更改为sync以使其实时运行(仍然不知道如何,我正在检查是否“更改发布”或“更改订阅” ...尚不确定)?

1 个答案:

答案 0 :(得分:0)

对于同步逻辑复制,如果您希望更改立即在备用数据库上可见,请将synchronous_commit设置为remote_apply并将预订的名称添加到synchronous_standby_names(两个设置)在主要数据库上。)

必须在主(主)服务器上的postgresql.conf中设置两个参数。不要忘记重新加载以激活更改。

使用同步复制,除非您至少有两个备用服务器,否则您始终会降低整个系统的可用性。