停止BDR复制DROP TABLE或CREATE TABLE

时间:2017-04-06 09:30:43

标签: postgresql database-replication multi-master-replication postgresql-bdr

我有两个包含要同步的表的数据库。我不想同步任何其他表。我正在使用Postgres-BDR来做到这一点。

这些表是复制集common的一部分。在某些情况下,其他表在节点之间共享名称(但不在common中),并且节点将调用DROP TABLE,然后调用CREATE TABLE。即使这些表不是common复制集的一部分,这些命令仍然会复制到其他节点,导致其他节点丢失其表中的所有数据,然后创建一个空表。

我怎么能阻止这个?我只希望将影响common的命令复制到其他节点。

1 个答案:

答案 0 :(得分:0)

没关系,我找到了。它可以bdr.skip_ddl_replication使用。

我只是将bdr.skip_ddl_replication = on放入postgresql.conf,重新启动服务器,然后重启!像魅力一样。

修改

我应该谨慎地指出,文档警告说,如果使用不当,此选项可能会破坏数据库复制。但由于我将非常严格地控制表模式,因此不应该导致任何问题。