mirror of
https://github.com/postgres/postgres.git
synced 2025-05-01 01:04:50 +03:00
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.
This commit is contained in:
parent
efae4653c9
commit
b94ce6e807
@ -826,12 +826,6 @@ PostmasterMain(int argc, char *argv[])
|
||||
*/
|
||||
process_shared_preload_libraries();
|
||||
|
||||
/*
|
||||
* Remove old temporary files. At this point there can be no other
|
||||
* Postgres processes running in this directory, so this should be safe.
|
||||
*/
|
||||
RemovePgTempFiles();
|
||||
|
||||
/*
|
||||
* Establish input sockets.
|
||||
*/
|
||||
@ -1099,6 +1093,12 @@ PostmasterMain(int argc, char *argv[])
|
||||
}
|
||||
load_ident();
|
||||
|
||||
/*
|
||||
* Remove old temporary files. At this point there can be no other
|
||||
* Postgres processes running in this directory, so this should be safe.
|
||||
*/
|
||||
RemovePgTempFiles();
|
||||
|
||||
/*
|
||||
* Remember postmaster startup time
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user