Move the responsibility for calling StartupXLOG into InitPostgres, for

Tom Lane <tgl@sss.pgh.pa.us>

Commit: c670410e7fe59dffb0227ed1dd0f532013993859
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2010-04-20T01:38:52Z
Releases: 9.0.0
Move the responsibility for calling StartupXLOG into InitPostgres, for
those process types that go through InitPostgres; in particular, bootstrap
and standalone-backend cases.  This ensures that we have set up a PGPROC
and done some other basic initialization steps (corresponding to the
if (IsUnderPostmaster) block in AuxiliaryProcessMain) before we attempt to
run WAL recovery in a standalone backend.  As was discovered last September,
this is necessary for some corner-case code paths during WAL recovery,
particularly end-of-WAL cleanup.

Moving the bootstrap case here too is not necessary for correctness, but it
seems like a good idea since it reduces the number of distinct code paths.

Files

PathChange+/−
src/backend/bootstrap/bootstrap.c modified +5 −20
src/backend/tcop/postgres.c modified +5 −15
src/backend/utils/init/postinit.c modified +24 −9