Re: checkpoints are duplicated even while the system is idle

Robert Haas <robertmhaas@gmail.com>

From: Robert Haas <robertmhaas@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Simon Riggs <simon@2ndquadrant.com>, Fujii Masao <masao.fujii@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2011-10-06T16:54:53Z
Lists: pgsql-hackers
On Thu, Oct 6, 2011 at 12:44 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>> I'm not entirely sure I understand the rationale, though.  I mean, if
>> very little has happened since the last checkpoint, then the
>> checkpoint will be very cheap.  In the totally degenerate case Fujii
>> Masao is reporting, where absolutely nothing has happened, it should
>> be basically free.  We'll loop through a whole bunch of things, decide
>> there's nothing to fsync, and call it a day.
>
> I think the point is that a totally idle database should not continue to
> emit WAL, not even at a slow rate.  There are also power-consumption
> objections to allowing the checkpoint process to fire up to no purpose.

Hmm, OK.  I still think it's a little funny to say that
checkpoint_timeout will force a checkpoint every N minutes except when
it doesn't, but maybe there's no real harm in that as long as we
document it properly.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company