From: Heikki Linnakangas Date: Wed, 30 Dec 2009 08:37:23 +0000 (+0000) Subject: Reset minRecoveryPoint at checkpoints, so that we don't uselessly update X-Git-Tag: REL8_4_3~77 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cae9c0d8c14e0997aa587350d13981ba7827c1d5;p=postgresql Reset minRecoveryPoint at checkpoints, so that we don't uselessly update it in the control file at crash recovery following an archive recovery. Per Fujii Masao and subsequent discussion. --- diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 212d5a416e..5d18e1a3ef 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.345.2.5 2009/09/13 18:32:17 heikki Exp $ + * $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.345.2.6 2009/12/30 08:37:23 heikki Exp $ * *------------------------------------------------------------------------- */ @@ -6659,6 +6659,8 @@ CreateCheckPoint(int flags) ControlFile->checkPoint = ProcLastRecPtr; ControlFile->checkPointCopy = checkPoint; ControlFile->time = (pg_time_t) time(NULL); + /* crash recovery should always recover to the end of WAL */ + MemSet(&ControlFile->minRecoveryPoint, 0, sizeof(XLogRecPtr)); UpdateControlFile(); LWLockRelease(ControlFileLock);