Simon Riggs wrote: > 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.
Yeah, the trouble is to tell bgwriter that it's OK for it to create the checkpoint, which includes writing a WAL record, while still keeping the system "in-recovery" for all other purposes. While we could just relax the checks, that seems like a very important safeguard. (I posted in the other mail to do a restartpoint before the startup process does the checkpoint) -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs