Set fallback_application_name for a walreceiver to cluster_name
By default, the fallback_application_name for a physical walreceiver is "walreceiver". This means that multiple standbys cannot be distinguished easily on a primary, for example in pg_stat_activity or synchronous_standby_names. If cluster_name is set, use that for fallback_application_name in the walreceiver. (If it's not set, it remains "walreceiver".) If someone set cluster_name to identify their instance, we might as well use that by default to identify the node remotely as well. It's still possible to specify another application_name in primary_conninfo explicitly. Reviewed-by: Euler Taveira <euler@timbira.com.br> Discussion: https://www.postgresql.org/message-id/flat/1257eaee-4874-e791-e83a-46720c72cac7@2ndquadrant.com
This commit is contained in:
parent
414a9d3cf3
commit
6ae578a91e
|
@ -3659,7 +3659,8 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows
|
|||
<varname>application_name</varname> setting of the standby, as set in the
|
||||
standby's connection information. In case of a physical replication
|
||||
standby, this should be set in the <varname>primary_conninfo</varname>
|
||||
setting; the default is <literal>walreceiver</literal>.
|
||||
setting; the default is the setting of <xref linkend="guc-cluster-name"/>
|
||||
if set, else <literal>walreceiver</literal>.
|
||||
For logical replication, this can be set in the connection
|
||||
information of the subscription, and it defaults to the
|
||||
subscription name. For other replication stream consumers,
|
||||
|
@ -6560,8 +6561,15 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
|
|||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Sets the cluster name that appears in the process title for all
|
||||
server processes in this cluster. The name can be any string of less
|
||||
Sets a name that identifies this database cluster (instance) for
|
||||
various purposes. The cluster name appears in the process title for
|
||||
all server processes in this cluster. Moreover, it is the default
|
||||
application name for a standby connection (see <xref
|
||||
linkend="guc-synchronous-standby-names"/>.)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The name can be any string of less
|
||||
than <symbol>NAMEDATALEN</symbol> characters (64 characters in a standard
|
||||
build). Only printable ASCII characters may be used in the
|
||||
<varname>cluster_name</varname> value. Other characters will be
|
||||
|
|
|
@ -293,7 +293,7 @@ WalReceiverMain(void)
|
|||
|
||||
/* Establish the connection to the primary for XLOG streaming */
|
||||
EnableWalRcvImmediateExit();
|
||||
wrconn = walrcv_connect(conninfo, false, "walreceiver", &err);
|
||||
wrconn = walrcv_connect(conninfo, false, cluster_name[0] ? cluster_name : "walreceiver", &err);
|
||||
if (!wrconn)
|
||||
ereport(ERROR,
|
||||
(errmsg("could not connect to the primary server: %s", err)));
|
||||
|
|
Loading…
Reference in New Issue