| From: | Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> | 
|---|---|
| To: | Melvin Davidson <melvin6925(at)gmail(dot)com>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> | 
| Subject: | Re: user connection not recorded? | 
| Date: | 2015-07-30 14:09:13 | 
| Message-ID: | 55BA3009.9030808@aklaver.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-general | 
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;
          if (username == NULL || *username == '\0')
                 username = _("[unknown]");
> 
> *Melvin Davidson*
-- 
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Melvin Davidson | 2015-07-30 14:12:05 | Re: user connection not recorded? | 
| Previous Message | Ramesh T | 2015-07-30 14:08:39 | Re: instr detail |