OSDN Git Service

In a bootstrap process or standalone backend, set MaxBackends = 1
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 3 Oct 2002 19:19:09 +0000 (19:19 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 3 Oct 2002 19:19:09 +0000 (19:19 +0000)
to avoid unnecessary consumption of semaphores.

src/backend/utils/init/postinit.c

index ee4abdf..9ac71c6 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/utils/init/postinit.c,v 1.116 2002/09/04 20:31:31 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/utils/init/postinit.c,v 1.117 2002/10/03 19:19:09 tgl Exp $
  *
  *
  *-------------------------------------------------------------------------
@@ -172,11 +172,14 @@ InitCommunication(void)
        if (!IsUnderPostmaster)         /* postmaster already did this */
        {
                /*
-                * we're running a postgres backend by itself with no front end or
-                * postmaster.  Create private "shmem" and semaphores.  Setting
-                * MaxBackends = 16 is arbitrary.
+                * We're running a postgres bootstrap process or a standalone backend.
+                * Create private "shmem" and semaphores.  Force MaxBackends to 1 so
+                * that we don't allocate more resources than necessary.
                 */
-               CreateSharedMemoryAndSemaphores(true, 16, 0);
+               SetConfigOption("max_connections", "1",
+                                               PGC_POSTMASTER, PGC_S_OVERRIDE);
+
+               CreateSharedMemoryAndSemaphores(true, MaxBackends, 0);
        }
 }