From b916cc435a18627daeb31b4567c8a364c7df5a77 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Tue, 2 Sep 2003 19:04:12 +0000
Subject: [PATCH] Cause standalone backend (including bootstrap case) to read
 the GUC config file if it exists.  This was already discussed as being a good
 idea, and now seems the cleanest way to deal with initdb-time failures on
 machines with small SHMMAX.  (The submitted patches instead modified
 initdb.sh to pass the correct sizing parameters, but that would still leave
 standalone backends prone to failure later.  An admin who needs to use a
 standalone backend has enough trouble already, he shouldn't have to manually
 configure its shmem settings...)

---
 src/backend/bootstrap/bootstrap.c | 10 ++++++++--
 src/backend/tcop/postgres.c       | 12 +++++++++---
 2 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/src/backend/bootstrap/bootstrap.c b/src/backend/bootstrap/bootstrap.c
index d4c10a983d9..cfd8a553582 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
- *	  $Header: /cvsroot/pgsql/src/backend/bootstrap/bootstrap.c,v 1.165 2003/08/04 02:39:57 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/bootstrap/bootstrap.c,v 1.166 2003/09/02 19:04:12 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -368,9 +368,15 @@ BootstrapMain(int argc, char *argv[])
 	Assert(DataDir);
 	ValidatePgVersion(DataDir);
 
+	/* Acquire configuration parameters */
+	if (IsUnderPostmaster)
+	{
 #ifdef EXEC_BACKEND
-	read_nondefault_variables();
+		read_nondefault_variables();
 #endif
+	}
+	else
+		ProcessConfigFile(PGC_POSTMASTER);
 
 	if (IsUnderPostmaster)
 	{
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c
index 1790dd85c18..fc551d65459 100644
--- a/src/backend/tcop/postgres.c
+++ b/src/backend/tcop/postgres.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.361 2003/08/26 15:38:24 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.362 2003/09/02 19:04:12 tgl Exp $
  *
  * NOTES
  *	  this is the "main" module of the postgres backend and
@@ -2490,9 +2490,15 @@ PostgresMain(int argc, char *argv[], const char *username)
 	}
 	Assert(DataDir);
 
+	/* Acquire configuration parameters */
+	if (IsUnderPostmaster)
+	{
 #ifdef EXEC_BACKEND
-	read_nondefault_variables();
+		read_nondefault_variables();
 #endif
+	}
+	else
+		ProcessConfigFile(PGC_POSTMASTER);
 
 	/*
 	 * Set up signal handlers and masks.
@@ -2651,7 +2657,7 @@ PostgresMain(int argc, char *argv[], const char *username)
 	if (!IsUnderPostmaster)
 	{
 		puts("\nPOSTGRES backend interactive interface ");
-		puts("$Revision: 1.361 $ $Date: 2003/08/26 15:38:24 $\n");
+		puts("$Revision: 1.362 $ $Date: 2003/09/02 19:04:12 $\n");
 	}
 
 	/*
-- 
GitLab