On 2/20/07, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Of course, the other side of that coin is that syslog is known to drop
> messages altogether under sufficient load. (At least on some platforms;
> dunno about yours.)
Yes I know. That's one of the reason why I asked for the bahaviour of
7.4 log_duration back in 8.2. It's a good compromise which allows us
not to lose lines and have a good level of information (at least, the
best we can have). Async IO helps.
Moreover we use syslog to send the log lines via UDP so we know that
it's not perfect. But it works nice most of the time. We know that we
can't log every query (we use a combination of log_duration and
log_min_duration_statement - I patched 8.1 for that) because if we do
so we lose a lot of lines and queries are not consistent but we can't
do it locally with stderr anyway due to I/O. This method has been
reliable for more than a year and our daily reports are consistent.
--
Guillaume