Hello, > When the checkpointer process is busy, even if we reset > synchronous_standby_names, the resumption of the backend processes waiting 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 synchronous replication 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 backend SyncRep 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 current behavior 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 oversight in my perception? Regards, Yusuke Egashira.