aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/bootstrap/bootstrap.c4
-rw-r--r--src/backend/postmaster/postmaster.c44
-rw-r--r--src/backend/tcop/postgres.c4
-rw-r--r--src/backend/utils/misc/guc.c5
4 files changed, 34 insertions, 23 deletions
diff --git a/src/backend/bootstrap/bootstrap.c b/src/backend/bootstrap/bootstrap.c
index 47d68518ec8..316ce270c21 100644
--- a/src/backend/bootstrap/bootstrap.c
+++ b/src/backend/bootstrap/bootstrap.c
@@ -8,7 +8,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/bootstrap/bootstrap.c,v 1.198 2005/01/14 21:08:44 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/bootstrap/bootstrap.c,v 1.198.4.1 2005/10/20 20:06:02 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -354,6 +354,8 @@ BootstrapMain(int argc, char *argv[])
{
if (!SelectConfigFiles(userDoption, progname))
proc_exit(1);
+ /* If timezone is not set, determine what the OS uses */
+ pg_timezone_initialize();
}
/* Validate we have been given a reasonable-looking DataDir */
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.
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c
index ef2fcf1f9c1..232a4750fd3 100644
--- a/src/backend/tcop/postgres.c
+++ b/src/backend/tcop/postgres.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/tcop/postgres.c,v 1.440.4.2 2005/06/02 21:03:46 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/tcop/postgres.c,v 1.440.4.3 2005/10/20 20:06:03 tgl Exp $
*
* NOTES
* this is the "main" module of the postgres backend and
@@ -2645,6 +2645,8 @@ PostgresMain(int argc, char *argv[], const char *username)
{
if (!SelectConfigFiles(userDoption, argv[0]))
proc_exit(1);
+ /* If timezone is not set, determine what the OS uses */
+ pg_timezone_initialize();
}
/*
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index 9038f660476..dc4d290ebc3 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -10,7 +10,7 @@
* Written by Peter Eisentraut <peter_e@gmx.net>.
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.252.4.1 2005/03/25 16:17:38 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.252.4.2 2005/10/20 20:06:03 tgl Exp $
*
*--------------------------------------------------------------------
*/
@@ -2584,9 +2584,6 @@ SelectConfigFiles(const char *userDoption, const char *progname)
free(configdir);
- /* If timezone is not set, determine what the OS uses */
- pg_timezone_initialize();
-
return true;
}