I already have rep_mode set to "sync", but the primary node switches to async mode only if the replica is shutted down correctly. When I shut down the replica by powering it off to emulate power unit failure, primary remains in sync mode until "pcs resource cleanup" is performed. I think it is possible to run resource cleanup in script on cluster alert.
I use Postgresql+Pacemaker+Corosync cluster with 2 Postgresql instances in synchronous replication mode. When one of the nodes is down, clients hang on INSERT operations because the primary server waits until standby confirms that it got the data, but the standby node is down.
I need clients to feel no difference when they operate with a fully operational cluster or with a degraded cluster containing primary node alone.
Is it possible to configure synchronous replication to operate normally when primary and replica are online, but primary no waits confirmation from replica if replica is not connected?