diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index de84b77..e8a9fee 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -4671,6 +4671,11 @@ local0.* /var/log/postgresql
+ %C
+ Cluster name
+ no
+
+
%a
Application name
yes
@@ -5075,6 +5080,10 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
The process title is typically viewed using programs like
ps> or, on Windows, Process Explorer>.
+
+ The cluster name can also be included in log files. See
+ log_line_prefix for details.
+
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 9005b26..9fe40f8 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2413,6 +2413,12 @@ log_line_prefix(StringInfo buf, ErrorData *edata)
else
appendStringInfo(buf, "%lx.%x", (long) (MyStartTime), MyProcPid);
break;
+ case 'C':
+ if (padding != 0)
+ appendStringInfo(buf, "%*s", padding, cluster_name);
+ else
+ appendStringInfoString(buf, cluster_name);
+ break;
case 'p':
if (padding != 0)
appendStringInfo(buf, "%*d", padding, MyProcPid);
diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample
index 09b2003..748e6cc 100644
--- a/src/backend/utils/misc/postgresql.conf.sample
+++ b/src/backend/utils/misc/postgresql.conf.sample
@@ -421,6 +421,7 @@
#log_error_verbosity = default # terse, default, or verbose messages
#log_hostname = off
#log_line_prefix = '' # special values:
+ # %C = cluster name
# %a = application name
# %u = user name
# %d = database name