]> granicus.if.org Git - postgresql/commit
Move postmaster's RemovePgTempFiles call to a less randomly chosen place.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 22 May 2012 02:50:30 +0000 (22:50 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 22 May 2012 02:50:30 +0000 (22:50 -0400)
commitb94ce6e807ce5685bda1dcd36027091ceec6b5a0
tree8e3fcf2b9d40952ccb42f87c9e3ebfbd227919ee
parentefae4653c98fd201a8a723bceabf182a1005ac0f
Move postmaster's RemovePgTempFiles call to a less randomly chosen place.

There is no reason to do this as early as possible in postmaster startup,
and good reason not to do it until we have completely created the
postmaster's lock file, namely that it might contribute to pg_ctl thinking
that postmaster startup has timed out.  (This would require a rather
unusual amount of time to be spent scanning temp file directories, but we
have at least one field report of it happening reproducibly.)

Back-patch to 9.1.  Before that, pg_ctl didn't wait for additional info to
be added to the lock file, so it wasn't a problem.

Note that this is not a complete fix to the slow-start issue in 9.1,
because we still had identify_system_timezone being run during postmaster
start in 9.1.  But that's at least a reasonably well-defined delay, with
an easy workaround if needed, whereas the temp-files scan is not so
predictable and cannot be avoided.
src/backend/postmaster/postmaster.c