aboutsummaryrefslogtreecommitdiff
path: root/src/backend/postmaster/postmaster.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/postmaster/postmaster.c')
-rw-r--r--src/backend/postmaster/postmaster.c44
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.