mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
More synchronous replication tweaks.
SyncRepRequested() must check not only the value of the synchronous_replication GUC but also whether max_wal_senders > 0. Otherwise, we might end up waiting for sync rep even when there's no possibility of a standby ever managing to connect. There are some existing cross-checks to prevent this, but they're not quite sufficient: the user can start the server with max_wal_senders=0, synchronous_standby_names='', and synchronous_replication=off and then subsequent make synchronous_standby_names not empty using pg_ctl reload, and then SET synchronous_standby=on, leading to an indefinite hang. Along the way, rename the global variable for the synchronous_replication GUC to match the name of the GUC itself, for clarity. Report by Fujii Masao, though I didn't use his patch.
This commit is contained in:
@ -759,7 +759,7 @@ static struct config_bool ConfigureNamesBool[] =
|
||||
gettext_noop("Requests synchronous replication."),
|
||||
NULL
|
||||
},
|
||||
&sync_rep_mode,
|
||||
&synchronous_replication,
|
||||
false, NULL, NULL
|
||||
},
|
||||
{
|
||||
|
Reference in New Issue
Block a user