Fix comment on processes being kept over a restart
authorHeikki Linnakangas <[email protected]>
Fri, 9 Aug 2024 21:06:19 +0000 (00:06 +0300)
committerHeikki Linnakangas <[email protected]>
Fri, 9 Aug 2024 21:06:19 +0000 (00:06 +0300)
All child processes except the syslogger are killed on a restart. The
archiver might be already running though, if it was started during
recovery.

The split in the comments between "other special children" and the
first group of "background tasks" seemed really arbitrary, so I just
merged them all into one group.

Reviewed-by: Thomas Munro <[email protected]>
Discussion: https://www.postgresql.org/message-id/8f2118b9-79e3-4af7-b2c9-bd5818193ca4@iki.fi

src/backend/postmaster/postmaster.c

index 12d9aa0041aa229b33f4c14d5c3c5f82f343bbcb..f3846f11b18efd3019df397e0019d21d06f87261 100644 (file)
@@ -2386,9 +2386,9 @@ process_pm_child_exit(void)
            connsAllowed = true;
 
            /*
-            * Crank up the background tasks, if we didn't do that already
-            * when we entered consistent recovery state.  It doesn't matter
-            * if this fails, we'll just try again later.
+            * Crank up any background tasks that we didn't start earlier
+            * already.  It doesn't matter if any of these fail, we'll just
+            * try again later.
             */
            if (CheckpointerPID == 0)
                CheckpointerPID = StartChildProcess(B_CHECKPOINTER);
@@ -2397,18 +2397,11 @@ process_pm_child_exit(void)
            if (WalWriterPID == 0)
                WalWriterPID = StartChildProcess(B_WAL_WRITER);
            MaybeStartWalSummarizer();
-
-           /*
-            * Likewise, start other special children as needed.  In a restart
-            * situation, some of them may be alive already.
-            */
            if (!IsBinaryUpgrade && AutoVacuumingActive() && AutoVacPID == 0)
                AutoVacPID = StartChildProcess(B_AUTOVAC_LAUNCHER);
            if (PgArchStartupAllowed() && PgArchPID == 0)
                PgArchPID = StartChildProcess(B_ARCHIVER);
            MaybeStartSlotSyncWorker();
-
-           /* workers may be scheduled to start now */
            maybe_start_bgworkers();
 
            /* at this point we are really open for business */