diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index e900dcc..8328733 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -4630,6 +4630,11 @@ local0.* /var/log/postgresql no + %n + Time stamp with milliseconds (as a Unix epoch) + no + + %i Command tag: type of session's current command yes diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c index 088c714..80ffdbd 100644 --- a/src/backend/utils/error/elog.c +++ b/src/backend/utils/error/elog.c @@ -2438,6 +2438,20 @@ log_line_prefix(StringInfo buf, ErrorData *edata) appendStringInfoString(buf, strfbuf); } break; + case 'n': + { + struct timeval tv; + char strfbuf[128]; + + gettimeofday(&tv, NULL); + sprintf(strfbuf, "%ld.%.03d", tv.tv_sec, (int)(tv.tv_usec / 1000)); + + if (padding != 0) + appendStringInfo(buf, "%*s", padding, strfbuf); + else + appendStringInfoString(buf, strfbuf); + } + break; case 's': if (formatted_start_time[0] == '\0') setup_formatted_start_time(); diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample index e5d275d..34abd17 100644 --- a/src/backend/utils/misc/postgresql.conf.sample +++ b/src/backend/utils/misc/postgresql.conf.sample @@ -425,6 +425,7 @@ # %p = process ID # %t = timestamp without milliseconds # %m = timestamp with milliseconds + # %n = timestamp with milliseconds (as a Unix epoch) # %i = command tag # %e = SQL state # %c = session ID