Hi!
I wanted to test synchronous bi-dircetional replication using synchronous_standby_names with bdr.
So I set this up as follows:
Node alpha has the following settings in postgresql.conf
port=5432
wal_level = 'logical'
max_replication_slots = 3
max_wal_senders = 4
synchronous_standby_names=’beta'
shared_preload_libraries = 'bdr'
bdr.connections='beta'
bdr.beta_dsn = ’dbname=bdrdemo username=postgres port=5433'
track_commit_timestamp = on
Node beta has the following settings in postgresql.conf
port=5433
wal_level = 'logical'
max_replication_slots = 3
max_wal_senders = 4
synchronous_standby_names=’alpha'
shared_preload_libraries = 'bdr'
bdr.connections=’alpha'
bdr.alpha_dsn = ’dbname=bdrdemo username=postgres port=5432'
track_commit_timestamp = on§ 1
bdr.alpha_init_replica = on
bdr.alpha_replica_local_dsn = 'dbname=bdrdemo user=postgres port=5432’
It seems to work fine. Bringing down one node stalls the other one, just like synch rep should.
But the view pg_stat_replication view shows async in sync_state column. Shouldn’t this really be sync?
Kind regards, Martin