Each <replaceable class="parameter">standby_name</replaceable>
should have the form of a valid SQL identifier, unless it
is <literal>*</literal>. You can use double-quoting if necessary. But note
that <replaceable class="parameter">standby_name</replaceable>s are
compared to standby application names case-insensitively, whether
double-quoted or not.
</para>
</note>
<para>
If no synchronous standby names are specified here, then synchronous
replication is not enabled and transaction commits will not wait for
replication. This is the default configuration. Even when
synchronous replication is enabled, individual transactions can be
configured not to wait for replication by setting the
<xref linkend="guc-synchronous-commit"/> parameter to
<literal>local</literal> or <literal>off</literal>.
</para>
<para>
This parameter can only be set in the <filename>postgresql.conf</filename>
file or on the server command line.
</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="runtime-config-replication-standby">
<title>Standby Servers</title>
<para>
These settings control the behavior of a
<link linkend="standby-server-operation">standby server</link>
that is
to receive replication data. Their values on the primary server
are irrelevant.
</para>
<variablelist>
<varlistentry id="guc-primary-conninfo" xreflabel="primary_conninfo">
<term><varname>primary_conninfo</varname> (<type>string</type>)
<indexterm>
<primary><varname>primary_conninfo</varname> configuration parameter</primary>
</indexterm>
</term>
<listitem>
<para>
Specifies a connection string to be used for the standby server
to connect with a sending server. This string is in the format
described in <xref linkend="libpq-connstring"/>. If any option is
unspecified in this string, then the corresponding environment
variable (see <xref linkend="libpq-envars"/>) is checked. If the
environment variable is not set either, then
defaults are used.
</para>
<para>
The connection string should specify the host name (or address)
of the sending server, as well as the port number if it is not
the same as the standby server's default.
Also specify a user name corresponding to a suitably-privileged role
on the sending server (see
<xref linkend="streaming-replication-authentication"/>).
A password needs to be provided too, if the sender demands password
authentication. It can be provided in the
<varname>primary_conninfo</varname> string, or in a separate
<filename>~/.pgpass</filename> file on the standby server (use
<literal>replication</literal> as the database name).
</para>
<para>
For replication slot synchronization (see
<xref linkend="logicaldecoding-replication-slots-synchronization"/>),
it is also necessary to specify a valid <literal>dbname</literal>
in the <varname>primary_conninfo</varname> string. This will only be
used for slot synchronization. It is ignored for streaming.
</para>
<para>
This parameter can only be set in the <filename>postgresql.conf</filename>
file or on the server command line.
If this parameter is changed while the WAL receiver process is
running, that process is signaled to shut down and expected to
restart with the new setting (except if <varname>primary_conninfo</varname>
is an empty string).
This setting has no effect if the server is not in standby mode.
</para>
</listitem>