Skip site navigation (1) Skip section navigation (2)

Re: Logging problems in PostgreSQL 7.2devel

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: John Summerfield <pgtest(at)os2(dot)ami(dot)com(dot)au>
Cc: PostgreSQL Bugs <pgsql-bugs(at)postgresql(dot)org>, Peter Eisentraut <peter_e(at)gmx(dot)net>
Subject: Re: Logging problems in PostgreSQL 7.2devel
Date: 2001-09-07 21:16:47
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-bugs
John Summerfield <pgtest(at)os2(dot)ami(dot)com(dot)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

In response to


pgsql-bugs by date

Next:From: Andreas WernitznigDate: 2001-09-07 23:14:11
Subject: backend closed the channel unexpectedly
Previous:From: Tom LaneDate: 2001-09-07 20:58:16
Subject: Re: Conditional NOTIFY is not implemented

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group