如何正确设置逻辑Postgresql复制(两种方式)?

时间:2019-02-22 10:42:37

标签: postgresql replication

我无法解决此问题:

如果有2个postgresql服务器,则使用某些表的逻辑复制(发布,订阅者),如果它在一个方向上起作用-一切都很好,但恐怖则从两个方向开始。

那些。在server1和server2上,存在具有相同任务表的相同数据库。 根据该副本,从server1到server2仅传输INSERT和UPDATE,然后在server2上,逻辑处理任务并将更新状态写入任务,从而相应地飞回server1(仅将UPDATE带回到服务器)。

问题在于,我们得到了一个循环的副本(在第一台服务器上就足以设置状态1,然后在server2上设置状态2,我们看到在表中任务的状态将无限地从1变为2,然后反之亦然,这使得数据处理变得困难,并且乱扔日志。 不幸的是,无法更改应用程序逻辑。从想法出发,仅包括必要的返回响应(即,不是实时的,而是根据一定的时间表以使状态固定的)

1 个答案:

答案 0 :(得分:1)

正如@JosMac已经提到的那样,您需要Multi-master replication,这在PostgreSQL内核中(当前v11-12尚不支持)。 PostgreSQL有various Multi-master solutions,但是如果您想坚持开源,可以尝试Postgres-XL