diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c index e3a4db5de24..937191334fc 100644 --- a/src/backend/tcop/postgres.c +++ b/src/backend/tcop/postgres.c @@ -3653,6 +3653,11 @@ PostgresMain(int argc, char *argv[], const char *username) * Create lockfile for data directory. */ CreateDataDirLockFile(false); + + /* In EXEC_BACKEND, this was set via BackendParameters */ +#ifndef EXEC_BACKEND + InitializeMaxBackends(); +#endif } /* Early initialization */ diff --git a/src/backend/utils/init/postinit.c b/src/backend/utils/init/postinit.c index 3948eac039b..ddd79d0aa2d 100644 --- a/src/backend/utils/init/postinit.c +++ b/src/backend/utils/init/postinit.c @@ -453,8 +453,6 @@ InitializeMaxBackends(void) void BaseInit(void) { - InitializeMaxBackends(); - /* * Attach to shared memory and semaphores, and initialize our * input/output/debugging file descriptors.