fate of pg_logger (was Re: [PATCHES] Contrib modules on Win32)
- From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
- To: "Dave Page" <dpage(at)vale-housing(dot)co(dot)uk>
- Cc: pgsql-hackers(at)postgreSQL(dot)org, pgsql-hackers-win32(at)postgreSQL(dot)org
- Subject: fate of pg_logger (was Re: [PATCHES] Contrib modules on Win32)
- Date: Mon, 13 Sep 2004 18:13:13 -0400
- Message-id: <26831(dot)1095113593(at)sss(dot)pgh(dot)pa(dot)us>
"Dave Page" <dpage(at)vale-housing(dot)co(dot)uk> writes:
>>> [ in list of contrib modules that don't build on Windows ]
>>> pg_logger
>> deprecated; use redirect_stderr (BTW, is it default on win32 now?)
> Yes, it's the default on Win32 (installer releases anyhoo). I take it
> this should be removed from /contrib then.
I looked into this a little. pg_logger isn't directly replaced by the
redirect_stderr code, because it actually redirects stderr to syslog,
not straight into files. It's reasonable that someone would want this
facility instead of elog.c's built-in support for syslog. The original
motivation for the contrib module can be found in this thread:
http://archives.postgresql.org/pgsql-hackers/2001-02/msg00295.php
where it was pointed out that backends sometimes emit messages to stderr
without going through elog(), and so the elog-based redirection to
syslog isn't very reliable.
That argument is a lot weaker than it was at the time, mainly because we
already waged the "holy war on stdout/stderr messages in the backend"
that I didn't want to get into in the above-cited message; we did so to
support localization and SQLSTATE codes for error messages. There are
still a very few stderr prints in the backend, but AFAIK they are all
developer-only debug support. The case of useful messages from dynamic
linker failures is the only argument that I think still has much weight,
and you could easily classify that one as a developer-only issue, too.
In any case, given the 8.0 code base, pg_logger makes no sense.
If you wanted the facility, what you'd do is put an additional option
into postmaster/syslogger.c to send captured output to syslog instead
of files. That way you would have a logger that would be automatically
launched by the postmaster --- ergo, no need to tweak init scripts ---
and what's more would be re-launched by the postmaster should it chance
to die.
So I don't see any value in putting any work into contrib/pg_logger to
make it build (or suppress it from building) on Windows. If I don't
hear a squawk PDQ, I'll remove the contrib module.
regards, tom lane
Home |
Main Index |
Thread Index