Hello,
> When the checkpointer process is busy, even if we reset synchronous_standby_names, the resumption of the backend
processeswaiting in SyncRep are made to wait until the checkpoint is completed.
> This prevents the prompt resumption of application processing when a problem occurs on the standby server in a
synchronousreplication system.
> I confirmed this in PostgreSQL 12.18.
I have tested this issue on Postgres built from the master branch (17devel) and observed the same behavior where the
backendSyncRep release is blocked until CHECKPOINT completion.
In situations where a synchronous standby instance encounters an error and needs to be detached, I believe that the
currentbehavior of waiting for SyncRep is inappropriate as it delays the backend.
I don't think changing the position of SIGHUP processing in the Checkpointer process carries much risk. Is there any
oversightin my perception?
Regards,
Yusuke Egashira.