我计划Postgresql
在多个站点上运行复制。每个站点上应该有两台服务器。在主站点,它们应该以BDR
模式运行。在站点之间(到其他服务器)我需要类似UDR
. BDR
如果它不需要全网状连接并且会级联更改,我可以使用它。
我正在读那篇文章,BDR
但UDR
不能很好地合作。
链接
然后我看到pglogical
它看起来像一个UDR
替代品。pglogical docs
我正在使用 BDR 版本 0.9.3 (postgresql 9.4)。
BDR
我可以用UDR
我想要的方式混合吗?
我可以混合BDR
并pglogical
实现我想要的吗?
什么可能是关键或陷阱?
有没有办法用当前可用的版本来做到这一点?所需的版本和程序是什么?
编辑:
我正在考虑UDR
从BDR
服务器到其他服务器的方向。但我也可以想象其他人需要它。或者一些表只同步,而其他表只同步。
编辑2:
我尝试使用BDR
with pglogical
。
- 首先,我进行了 2 节点
BDR
设置。 - 验证它正在工作。
- 然后我
pglogical
只在一个BDR
节点上进行了设置。 - 从此时起,它停止工作(
BDR
&pglogical
)。
pglogical
像锁一样的接缝DDL
(或者可能是所有东西)。我无法加入订阅者,也无法在另一个BDR
节点(DDL
锁定)上插入数据。
因此,目前似乎不可能BDR
在同pglogical
一张桌子上运行。
但可能有一种解决方法 - 或者我可能做错了什么。