Re: Logging problems in PostgreSQL 7.2devel
| От | Tom Lane |
|---|---|
| Тема | Re: Logging problems in PostgreSQL 7.2devel |
| Дата | |
| Msg-id | 4671.999897407@sss.pgh.pa.us обсуждение |
| Ответ на | Logging problems in PostgreSQL 7.2devel (John Summerfield <pgtest@os2.ami.com.au>) |
| Ответы |
Re: Logging problems in PostgreSQL 7.2devel
|
| Список | pgsql-bugs |
John Summerfield <pgtest@os2.ami.com.au> writes:
> I have postmaster configured to use syslog. Despite this, these messages appear on the terminal from which I start
it:
> 2001-09-03 23:44:37 [26371] DEBUG: recycled transaction log file 0000000000000044
Ah, I see what's causing that. elog.c does this to decide whether to
write on stderr:
/* write to terminal */
if (Use_syslog <= 1 || whereToSendOutput == Debug)
write(2, msg_buf, strlen(msg_buf));
Now, whereToSendOutput is initially Debug in a postmaster or standalone
backend, and it gets changed to Remote when a normal backend is forked
from the postmaster. The messages that John is seeing come from routine
checkpoint subprocesses, which are also forked off from the postmaster
--- and whereToSendOutput is never changed in that path.
It strikes me that perhaps we should have whereToSendOutput start out
as None in a postmaster (but it should still be Debug in a standalone
backend or bootstrap run).
Peter, I'm cc'ing you since you've messed with elog message handling
most recently. Do you have any thoughts about proper behavior here?
regards, tom lane
В списке pgsql-bugs по дате отправления: