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-06T18:18:29Z
Lists: pgsql-hackers
On Thu, Oct 6, 2011 at 1:56 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Simon Riggs <simon@2ndquadrant.com> writes:
>> Do we want this backpatched? If so, suggest just 9.1 and 9.0?
>
> -1 for backpatching; it's more an improvement than a bug fix.
>
> In any case, I think we still need to respond to the point Kevin made
> about how to tell an idle master from broken replication.  Right now,
> you will get at least a few bytes of data every checkpoint_timeout
> seconds.  If we change this, you won't.
>
> I'm inclined to think that the way to deal with that is not to force out
> useless WAL data, but to add some sort of explicit "I'm alive" heartbeat
> signal to the walsender/walreceiver protocol.  The hard part of that is
> to figure out how to expose it where you can see it on the slave side
> --- or do we have a status view that could handle that?

As of 9.1, we already have something very much like this, in the
opposite direction.  See wal_receiver_status_interval and
replication_timeout.  I bet we could adapt that slightly to work in
the other direction, too.  But that'll only work with streaming
replication - do we care about the WAL shipping case?

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