pgsql: Fix syslogger so that log_truncate_on_rotation works in the firs

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix syslogger so that log_truncate_on_rotation works in the firs
Date: 2012-07-31 18:38:02
Message-ID: E1SwHKU-0007pM-JE@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix syslogger so that log_truncate_on_rotation works in the first rotation.

In the original coding of the log rotation stuff, we did not bother to make
the truncation logic work for the very first rotation after postmaster
start (or after a syslogger crash and restart). It just always appended
in that case. It did not seem terribly important at the time, but we've
recently had two separate complaints from people who expected it to work
unsurprisingly. (Both users tend to restart the postmaster about as often
as a log rotation is configured to happen, which is maybe not typical use,
but still...) Since the initial log file is opened in the postmaster,
fixing this requires passing down some more state to the syslogger child
process.

It's always been like this, so back-patch to all supported branches.

Branch
------
REL9_2_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/63aba79c7f1f06422b22e2b44fdcb563bbc3f7a5

Modified Files
--------------
src/backend/postmaster/postmaster.c | 6 ++++-
src/backend/postmaster/syslogger.c | 43 ++++++++++++++++++++++++----------
2 files changed, 35 insertions(+), 14 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2012-07-31 21:57:12 pgsql: Fix WITH attached to a nested set operation (UNION/INTERSECT/EXC
Previous Message Alvaro Herrera 2012-07-31 15:06:04 pgsql: Fix memory and file descriptor leaks in pg_receivexlog/pg_baseba