diff options
Diffstat (limited to 'src/backend/postmaster/postmaster.c')
-rw-r--r-- | src/backend/postmaster/postmaster.c | 44 |
1 files changed, 27 insertions, 17 deletions
diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index e5162680e43..0a67a25916f 100644 --- a/src/backend/postmaster/postmaster.c +++ b/src/backend/postmaster/postmaster.c @@ -37,7 +37,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.443.4.2 2005/03/25 00:35:14 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.443.4.3 2005/10/20 20:06:02 tgl Exp $ * * NOTES * @@ -613,7 +613,8 @@ PostmasterMain(int argc, char *argv[]) } /* - * Other one-time internal sanity checks can go here. + * Other one-time internal sanity checks can go here, if they are fast. + * (Put any slow processing further down, after postmaster.pid creation.) */ if (!CheckDateTokenTables()) { @@ -656,21 +657,6 @@ PostmasterMain(int argc, char *argv[]) #endif /* - * Initialize SSL library, if specified. - */ -#ifdef USE_SSL - if (EnableSSL) - secure_initialize(); -#endif - - /* - * process any libraries that should be preloaded and optionally - * pre-initialized - */ - if (preload_libraries_string) - process_preload_libraries(preload_libraries_string); - - /* * Fork away from controlling terminal, if -S specified. * * Must do this before we grab any interlock files, else the interlocks @@ -691,6 +677,30 @@ PostmasterMain(int argc, char *argv[]) CreateDataDirLockFile(DataDir, true); /* + * If timezone is not set, determine what the OS uses. (In theory this + * should be done during GUC initialization, but because it can take as + * much as several seconds, we delay it until after we've created the + * postmaster.pid file. This prevents problems with boot scripts that + * expect the pidfile to appear quickly.) + */ + pg_timezone_initialize(); + + /* + * Initialize SSL library, if specified. + */ +#ifdef USE_SSL + if (EnableSSL) + secure_initialize(); +#endif + + /* + * process any libraries that should be preloaded and optionally + * pre-initialized + */ + if (preload_libraries_string) + process_preload_libraries(preload_libraries_string); + + /* * Remove old temporary files. At this point there can be no other * Postgres processes running in this directory, so this should be * safe. |