aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/src/sgml/config.sgml16
-rw-r--r--src/backend/postmaster/postmaster.c7
2 files changed, 16 insertions, 7 deletions
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 1d359dacb3d..bf4fb001379 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -1966,12 +1966,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>
diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c
index ea2784d6083..8b181824d2e 100644
--- a/src/backend/postmaster/postmaster.c
+++ b/src/backend/postmaster/postmaster.c
@@ -731,11 +731,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\"")));