pgsql: Fix recently-identified PITR recovery hazard: the base backup

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix recently-identified PITR recovery hazard: the base backup
Date: 2006-11-05 23:40:38
Message-ID: 20061105234038.DC0BA9FA474@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Fix recently-identified PITR recovery hazard: the base backup could contain
stale relcache init files (pg_internal.init), and there is no mechanism for
updating them during WAL replay. Easiest solution is just to delete the init
files at conclusion of startup, and let the first backend started in each
database take care of rebuilding the init file. Simon Riggs and Tom Lane.

Back-patched to 8.1. Arguably this should be fixed in 8.0 too, but it would
require significantly more code since 8.0 has no handy startup-time scan of
pg_database to piggyback on. Manual solution of the problem is possible
in 8.0 (just delete the pg_internal.init files before starting WAL replay),
so that may be a sufficient answer.

Tags:
----
REL8_1_STABLE

Modified Files:
--------------
pgsql/src/backend/utils/cache:
relcache.c (r1.230.2.3 -> r1.230.2.4)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/relcache.c.diff?r1=1.230.2.3&r2=1.230.2.4)
pgsql/src/backend/utils/init:
flatfiles.c (r1.15.2.1 -> r1.15.2.2)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/init/flatfiles.c.diff?r1=1.15.2.1&r2=1.15.2.2)
pgsql/src/include/utils:
relcache.h (r1.52 -> r1.52.2.1)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/relcache.h.diff?r1=1.52&r2=1.52.2.1)

Browse pgsql-committers by date

  From Date Subject
Next Message Neil Conway 2006-11-06 01:27:52 pgsql: Minor fix for LDAP authentication: if an error occurs, we need to
Previous Message Tom Lane 2006-11-05 23:40:31 pgsql: Fix recently-identified PITR recovery hazard: the base backup