Re: pg_ctl patch to integrate apache's rotatelogs - Mailing list pgsql-patches

From Andrew Hammond
Subject Re: pg_ctl patch to integrate apache's rotatelogs
Date
Msg-id 40A51E89.8050203@ca.afilias.info
Whole thread Raw
In response to Re: pg_ctl patch to integrate apache's rotatelogs  (Peter Eisentraut <peter_e@gmx.net>)
Responses Re: pg_ctl patch to integrate apache's rotatelogs  (Bruno Wolff III <bruno@wolff.to>)
Re: pg_ctl patch to integrate apache's rotatelogs  (Bruce Momjian <pgman@candle.pha.pa.us>)
Re: pg_ctl patch to integrate apache's rotatelogs  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-patches
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Peter Eisentraut wrote:
| Andrew Hammond wrote:
|
|>That's essentially what the patch does. It's better because it does
|>it correctly instead of requiring an admin to learn how to do it
|>correctly.
|
| That is entirely unconvincing handwaving.

There was recently a huge thread in hackers about the value of making
postgres easier to install and use. I think this script makes postgres
easier to use for those of us who can't use syslog. Your perspective as
an experienced postgres developer may make it difficult to see the value
here, but I think it smooths out one more entry level barrier for Postgres.

| We already have a method to
| do what you propose, and it's no less correct or harder to learn about
| than what you propose. Moreover, it isn't specific to any one
| logrotation method

~From what I've seen, I have to disagree. The documentation says to "pipe
the stderr of the postmaster to some type of log rotation program."
which is pretty vague. It then includes an _incorrect_ example of how to
use logrotate (logrotate rotates existing log files, if you pipe output
into it, your postmaster will block). There are no explicit, working
examples of how to configure the various log rotation options.

Of the log rotation tools available _none_ of them are particularly well
supported for use with postgres:

- - DJB's multilog requires a whole mess of configuration, and is
difficult to run unless you're root. In which case you'd be far better
off to use syslog anyway. It is rsync friendly

- - logrotator does things to files which, as far as I could tell, would
require restarting postgres.

- - pg_logs.pl is very configurable, but ugly and expensive to run (I work
for Afilias, and this patch is because we're less than thrilled with
pg_logs and looking for alternatives. It may turn out that logging is
just expensive no matter what, but we'd like to find a better solution)

- - rotatelogs is the easiest of the above, rsync friendly, but an admin
still has to actually figure out the correct way of using it.

| and doesn't create any broken dependencies (or do
| you propose that all PostgreSQL packages will in the future have to
| depend on Apache)?

Of course not! :)

The idea here is to make it as easy as possible to use rotatelogs. The
script doesn't even test for existance of rotatelogs unless you
explicitly try to use it. And then, if it can't find rotatelogs, it says
so explicitly. I think it's an extreemly low risk patch,

Drew
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFApR6Hgfzn5SevSpoRAnmDAJwO7zHdaiMwPx7vjRLnzxWrrT+8ogCgpOEp
eIpMlyfR3G1MBcwRst6AQlQ=
=4b/R
-----END PGP SIGNATURE-----

pgsql-patches by date:

Previous
From: Neil Conway
Date:
Subject: Re: SQLState
Next
From: Bruno Wolff III
Date:
Subject: Re: pg_ctl patch to integrate apache's rotatelogs