0

我尝试按照快速入门中提供的步骤为 postgres 设置多主 BDR。我设法使安装和配置正确(希望如此)。

我有两台 centos 7 服务器:X 和 Y。postgres 和 bdr 都安装在其中。

在 pg_hba.conf 中添加条目后,postgresql.conf。重新启动两个服务器上的 postgres 实例。

my pg_hba.conf have on both X and Y: 
host    replication     postgres        X/32          trust
host    replication     postgres        Y/32          trust

此外,添加了 postgresql.conf 以及快速入门中提供的更改。

我能够创建 bdr 扩展和 btree_gist。

在 X 机器上:

select bdr.bdr_group_create(local_node_name :='node1', node_external_dsn :='port=5432 dbname=testDB host=IPADDRESS_of_X', node_local_dsn := NULL, apply_delay := NULL, replication_sets :=array['status']);

在 Y 机器上:

select bdr.bdr_group_join(local_node_name := 'node2', node_external_dsn := 'port=5432 dbname=testDB host=IPADDRESS_of_Y', join_using_dsn := 'port=5432 dbname=testDB host=IPADDRESS_of_X', node_local_dsn := NULL, apply_delay := NULL, replication_sets :=ARRAY['status']);

对于我跑的测试,

select bdr.bdr_node_join_wait_for_ready(); 这按预期返回了 null 。

select '*' from pf_relication_slots;这给了我的 testDB 一个插槽名称。

但是,当我在数据库上运行手动更新或插入时,我看到数据没有在其他节点上复制。

SELECT * FROM bdr.bdr_nodes 

给出的输出为:

截屏

有人可以帮我解决这个问题。

4

0 回答 0