mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-21 08:29:39 +08:00
Fix upper limit of superuser_reserved_connections, add limit for wal_senders
Should be limited to the maximum number of connections excluding autovacuum workers, not including. Add similar check for max_wal_senders, which should never be higher than max_connections.
This commit is contained in:
parent
da4efa13d8
commit
b3055ab4fb
@ -2087,12 +2087,16 @@ SET ENABLE_SEQSCAN TO OFF;
|
||||
</indexterm>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the maximum number of concurrent connections from standby
|
||||
servers or streaming base backup clients (i.e., the maximum number of
|
||||
simultaneously running WAL sender
|
||||
processes). The default is zero. This parameter can only be set at
|
||||
server start. <varname>wal_level</> must be set to <literal>archive</>
|
||||
or <literal>hot_standby</> to allow connections from standby servers.
|
||||
Specifies the maximum number of concurrent connections from
|
||||
standby servers or streaming base backup clients (i.e., the
|
||||
maximum number of simultaneously running WAL sender
|
||||
processes). The default is zero, meaning replication is
|
||||
disabled. WAL sender processes count towards the total number
|
||||
of connections, so the parameter cannot be set higher than
|
||||
<xref linkend="guc-max-connections">. This parameter can only
|
||||
be set at server start. <varname>wal_level</> must be set
|
||||
to <literal>archive</> or <literal>hot_standby</> to allow
|
||||
connections from standby servers.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -763,11 +763,16 @@ PostmasterMain(int argc, char *argv[])
|
||||
/*
|
||||
* Check for invalid combinations of GUC settings.
|
||||
*/
|
||||
if (ReservedBackends >= MaxBackends)
|
||||
if (ReservedBackends >= MaxConnections)
|
||||
{
|
||||
write_stderr("%s: superuser_reserved_connections must be less than max_connections\n", progname);
|
||||
ExitPostmaster(1);
|
||||
}
|
||||
if (max_wal_senders >= MaxConnections)
|
||||
{
|
||||
write_stderr("%s: max_wal_senders must be less than max_connections\n", progname);
|
||||
ExitPostmaster(1);
|
||||
}
|
||||
if (XLogArchiveMode && wal_level == WAL_LEVEL_MINIMAL)
|
||||
ereport(ERROR,
|
||||
(errmsg("WAL archival (archive_mode=on) requires wal_level \"archive\" or \"hot_standby\"")));
|
||||
|
Loading…
Reference in New Issue
Block a user