Re: logging blemishes

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: logging blemishes
Date: 2005-09-20 02:40:57
Message-ID: 200509200240.j8K2evw06684@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Andrew Dunstan wrote:
>
> While preparing for a presentation, I noticed some mildly ugly effects
> with log_line_prefix during session startup if log_connections is turned on.
>
> Example (log_line_prefix = '%t %q%u(at)%d %r %p %c:%l'):
>
> 2005-09-19 19:16:39 EDT [unknown](at)[unknown] 6541 432f46d7.198d:1 LOG:
> connection received: host=[local] port=
> 2005-09-19 19:16:42 EDT [unknown](at)[unknown] 6543 432f46da.198f:1 LOG:
> connection received: host=[local] port=
> 2005-09-19 19:16:42 EDT postgres(at)template1 [local] 6543 432f46da.198f:2
> LOG: connection authorized: user=postgres database=template1
> 2005-09-19 19:16:44 EDT postgres(at)template1 [local] 6543 432f46da.198f:3
> LOG: disconnection: session time: 0:00:01.95 user=postgres
> database=template1 host=[local] port=
>
> I'm also unclear why we get two lines at the start of each connection -
> that seems like a bug, or is it due to some sort of protocol
> negotiation. This is a fresh FC4 machine with only pg 8.0.3 ever installed.

I can not reproduce your problem here with current CVS. I see:

2005-09-19 22:37:58 EDT LOG: transaction ID wrap limit is 2147484146,
limited by database "postgres"
2005-09-19 22:39:17 EDT [unknown](at)[unknown] 6404 432f7655.1904:1LOG:
connection received: host=[local] port=
2005-09-19 22:39:17 EDT postgres(at)test [local] 6404 432f7655.1904:2LOG:
connection authorized: user=postgres database=test
2005-09-19 22:39:19 EDT postgres(at)test [local] 6404 432f7655.1904:3LOG:
disconnection: session time: 0:00:01.62 user=postgres da
tabase=test host=[local] port=

What other things did you change in postgresql.conf. I turned on
log_connections, and log_disconnections, which shows as enabled in your
output above.

> Anyway, currently, we test for "stop producing output here" with the
> following code in elog.c:
>
> case 'q':
> /* in postmaster and friends, stop if %q is seen */
> /* in a backend, just ignore */
> if (MyProcPort == NULL)
> i = format_len;
> break;
>
> I'm wondering if we should extend that test slightly, to something like
>
> if (MyProcPort == NULL || MyProcPort->username == NULL
> || *(MyProcPort->username) == '\0')

Interesting, but I would like to find a need to add those tests.

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Fuhr 2005-09-20 05:09:50 Re: New dot releases
Previous Message Bruce Momjian 2005-09-20 02:16:36 Re: DISTINCT vs. GROUP BY