Cause standalone backend (including bootstrap case) to read the GUC
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 2 Sep 2003 19:04:12 +0000 (19:04 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 2 Sep 2003 19:04:12 +0000 (19:04 +0000)
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
src/backend/tcop/postgres.c

index d4c10a983d9c20c7f647a24b883a1a13a66d9a17..cfd8a553582451edba1c44f1dc68a2a978ab4814 100644 (file)
@@ -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)
        {
index 1790dd85c189851ce82567797203cc266e9006f3..fc551d654597cd838953ed069f84521876235b57 100644 (file)
@@ -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");
        }
 
        /*