Re: Log notice that checkpoint is to be written on shutdown

From: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
To: Michael Banck <michael(dot)banck(at)credativ(dot)de>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Log notice that checkpoint is to be written on shutdown
Date: 2014-10-03 15:07:23
Message-ID: 20141003150723.GA7043@eldon.alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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. And for consistency also make sure
that the checkpoint end log line is also reported on shutdown
checkpoints regardless of log_checkpoints.

--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Heikki Linnakangas 2014-10-03 15:29:23 Re: Escaping from blocked send() reprised.
Previous Message Andres Freund 2014-10-03 14:26:35 Re: Escaping from blocked send() reprised.