From b72c6ed49314783a421239d350e1a05057b01da1 Mon Sep 17 00:00:00 2001
From: Tomas Vondra <tomas@vondra.me>
Date: Fri, 7 Mar 2025 20:19:29 +0100
Subject: [PATCH v20250309 2/5] simple post-rebase fixes

- Update checks in PostmasterStateMachine to account for datachecksum
  workers, etc.

- Remove pgstat_bestart() call - it would need to be _initial(), but I
  don't think it's needed.

- Update vacuum_delay_point() call.
---
 src/backend/postmaster/datachecksumsworker.c | 5 +----
 src/backend/postmaster/postmaster.c          | 5 +++++
 src/backend/utils/activity/pgstat_backend.c  | 2 ++
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/backend/postmaster/datachecksumsworker.c b/src/backend/postmaster/datachecksumsworker.c
index de7a077f9c2..b9d003423c0 100644
--- a/src/backend/postmaster/datachecksumsworker.c
+++ b/src/backend/postmaster/datachecksumsworker.c
@@ -450,7 +450,7 @@ ProcessSingleRelationFork(Relation reln, ForkNumber forkNum, BufferAccessStrateg
 		if (abort_requested)
 			return false;
 
-		vacuum_delay_point();
+		vacuum_delay_point(false);
 	}
 
 	pfree(relns);
@@ -752,9 +752,6 @@ DataChecksumsWorkerLauncherMain(Datum arg)
 	 */
 	BackgroundWorkerInitializeConnectionByOid(InvalidOid, InvalidOid, 0);
 
-	/* Initialize backend status information */
-	pgstat_bestart();
-
 	enabling_checksums = DataChecksumsWorkerShmem->launch_enable_checksums;
 	DataChecksumsWorkerShmem->launcher_running = true;
 	DataChecksumsWorkerShmem->enabling_checksums = enabling_checksums;
diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c
index d2a7a7add6f..2fc438987b5 100644
--- a/src/backend/postmaster/postmaster.c
+++ b/src/backend/postmaster/postmaster.c
@@ -2947,6 +2947,11 @@ PostmasterStateMachine(void)
 									B_INVALID,
 									B_STANDALONE_BACKEND);
 
+			/* also add checksumming processes */
+			remainMask = btmask_add(remainMask,
+									B_DATACHECKSUMSWORKER_LAUNCHER,
+									B_DATACHECKSUMSWORKER_WORKER);
+
 			/* All types should be included in targetMask or remainMask */
 			Assert((remainMask.mask | targetMask.mask) == BTYPE_MASK_ALL.mask);
 		}
diff --git a/src/backend/utils/activity/pgstat_backend.c b/src/backend/utils/activity/pgstat_backend.c
index a9343b7b59e..f4b2f3b91d8 100644
--- a/src/backend/utils/activity/pgstat_backend.c
+++ b/src/backend/utils/activity/pgstat_backend.c
@@ -292,6 +292,8 @@ pgstat_tracks_backend_bktype(BackendType bktype)
 		case B_BG_WRITER:
 		case B_CHECKPOINTER:
 		case B_STARTUP:
+		case B_DATACHECKSUMSWORKER_LAUNCHER:
+		case B_DATACHECKSUMSWORKER_WORKER:
 			return false;
 
 		case B_AUTOVAC_WORKER:
-- 
2.48.1

