On 07/30/2015 06:42 AM, Melvin Davidson wrote: > I have a puzzling question. > > All through the error log, there are connections for [unknown] user. > EG: > 2015-07-30 00:00:00 CDT [6577]: [1-1]: : [unknown]: LOG: connection > received: host=173.239.101.98 port=50687 > > The log_line_prefix is %t [%p]: [%l-1]: %h: %u: > > I can understand that the host is not available in nslookup, but why is > the user not being recorded?
A quick look at the source shows that Postgres system process can have NULL username:
postinit.c:
else if (IsBackgroundWorker) { if (username == NULL) { InitializeSessionUserIdStandalone(); am_superuser = true;
which is then turned into 'unknown'
elog.c:
case 'u': if (MyProcPort) { const char *username = MyProcPort->user_name;