Am Freitag, den 03.10.2014, 12:07 -0300 schrieb Alvaro Herrera: > Michael Banck wrote: > > diff --git a/src/backend/access/transam/xlog.c > > b/src/backend/access/transam/xlog.c > > index 5a4dbb9..f2716ae 100644 > > --- a/src/backend/access/transam/xlog.c > > +++ b/src/backend/access/transam/xlog.c > > @@ -8085,10 +8085,14 @@ CreateCheckPoint(int flags) > > > > /* > > * If enabled, log checkpoint start. We postpone this until now so as > > not > > - * to log anything if we decided to skip the checkpoint. > > + * to log anything if we decided to skip the checkpoint. If we are > > during > > + * shutdown and checkpoints are not being logged, add a log message > > that a > > + * checkpoint is to be written and shutdown is potentially delayed. > > */ > > if (log_checkpoints) > > LogCheckpointStart(flags, false); > > + else if (shutdown) > > + ereport(LOG, (errmsg("waiting for checkpoint ..."))); > > > > TRACE_POSTGRESQL_CHECKPOINT_START(flags); > > I think if we're going to emit log messages for shutdown checkpoints, we > ought to use the same format we already have, i.e. instead of having the > separate "waiting for checkpoint" message, just test "log_checkpoints || > shutdown", then LogCheckpointStart.
I considered this at first, but the rationale is that if somebody sets log_checkpoints = off, they probably don't want the actual checkpoint to be logged, so just a note that a checkpoint is happening was better (Christoph Berg pointed this out). If there is consensus that forcing this one-time checkpoint logging is fine, I can change the patch accordingly. > And for consistency also make sure > that the checkpoint end log line is also reported on shutdown > checkpoints regardless of log_checkpoints. I did this in an earlier draft of the patch, but AIUI this either requires some refactoring to not evaluate log_checkpoints inside LogCheckpointEnd(), and/or to change the function signature of LogCheckpointEnd() to include either the `flags' bitfield or the `shutdown' bool in order to force logging of the finished checkpoint even if log_checkpoints is set to `off'. Cheers, Michael -- Michael Banck Projektleiter / Berater Tel.: +49 (2161) 4643-171 Fax: +49 (2161) 4643-100 Email: michael.ba...@credativ.de credativ GmbH, HRB Mönchengladbach 12080 USt-ID-Nummer: DE204566209 Hohenzollernstr. 133, 41061 Mönchengladbach Geschäftsführung: Dr. Michael Meskes, Jörg Folz, Sascha Heuer -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers