Hi,
my goal is to create a replication cluster with several nodes and all guaranteed in sync to provide
read only load balancing with exact the same set of data over all nodes.
Basically a pretty well known use case so I set the value for synchronous_standby_names to all
nodes. Maybe with a * or just a list of all nodes.
Now I see in the pg_stat_replication that mostly not all nodes are in sync_state = sync but mostly
in potential. What does potential exactly (need a reliable answer) mean? I would assume that in
this case the WAL information is already streamed to the other node but not applied yet. From
a DR perspective fine but not for my scenario.
So I set the parameter on all nodes synchronous_commit to remote_apply to make sure that every nodes has
to be committed to finish a transaction.
But even then it has the same effect.
But then the weird part….if I set the synchronous_standby_names to something like FIRST 2 ( …list of nodes)
then I reach the state that every node is in sync. So I have to use this way of declaration even if I list every
node in there. Just to say all nodes won’t work. Bug, Feature, works as designed? J
Cheers
Dirk