On Thu, 2009-06-25 at 18:12 +0300, Heikki Linnakangas wrote:
> A short fix would be to have bgwriter do the shutdown checkpoint instead
> in archive recovery. I don't recall if there was a reason it wasn't
> coded like that to begin with, though.
I think the problem was that it was coded both ways at different stages
of patch evolution. The decision to retain the shutdown checkpoint by
the startup process was taken in January, IIRC.
Having startup process issue this
if (InArchiveRecovery)
RequestCheckpoint(CHECKPOINT_IS_SHUTDOWN |
CHECKPOINT_FORCE |
CHECKPOINT_WAIT)
else
should make the startup process wait for bgwriter to complete the
checkpoint. But we need to set LocalRecoveryInProgress appropriately
also.
--
Simon Riggs www.2ndQuadrant.com
PostgreSQL Training, Services and Support