Re: Reopen logfile on SIGHUP

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: "David G. Johnston" <david.g.johnston@gmail.com>
Cc: Andres Freund <andres@anarazel.de>, Greg Stark <stark@mit.edu>, Anastasia Lubennikova <a.lubennikova@postgrespro.ru>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2018-02-27T23:45:15Z
Lists: pgsql-hackers
"David G. Johnston" <david.g.johnston@gmail.com> writes:
> On Tue, Feb 27, 2018 at 4:12 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> IOW, I think a fair response to this is "if you're using logrotate with
>> Postgres, you're doing it wrong".  That was of some use back before we
>> spent so much sweat on the syslogger, but it's not a reasonable setup
>> today.

> A couple of weeks ago a message was posted to general [1] in which I
> concluded the desired behavior is not supported natively.  I'm curious
> whether better advice than mine can be given ...

> https://www.postgresql.org/message-id/flat/CAKoQ0XHAy9De1C8gxUWHSW6w5iKcqX03wyWGe_%2Bc8NxJccCBHw%40mail.gmail.com#CAKoQ0XHAy9De1C8gxUWHSW6w5iKcqX03wyWGe_+c8NxJccCBHw@mail.gmail.com

The particular behavior that guy wanted would require some new %-escape
in the log_filename parameter.  Essentially we'd need to keep an
increasing sequence counter for log files and have it wrap around at some
user-specified count (5 in his example), then add a %-escape to include
the counter value in the generated filename.  It's not an unreasonable
idea, if somebody wanted to code it up.

			regards, tom lane


Commits

  1. Implement "pg_ctl logrotate" command