diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 8e2a2c5d736..d014bb57380 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -3504,7 +3504,12 @@ local0.* /var/log/postgresql
%u
- User name
+ Login user name
+ yes
+
+
+ %U
+ Current user name
yes
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index a1a449f2ddc..49d9236767d 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -1826,6 +1826,16 @@ log_line_prefix(StringInfo buf, ErrorData *edata)
appendStringInfoString(buf, username);
}
break;
+ case 'U':
+ if (MyProcPort)
+ {
+ const char *username = GetUserNameFromId(GetUserId());
+
+ if (username == NULL || *username == '\0')
+ username = _("[unknown]");
+ appendStringInfoString(buf, username);
+ }
+ break;
case 'd':
if (MyProcPort)
{