Thread
-
[PATCH v7 3/3] Fixup: assign backend type earlier
Álvaro Herrera <alvherre@kurilemu.de> — 2025-12-09T08:53:01Z
--- src/backend/postmaster/launch_backend.c | 3 +++ src/backend/utils/error/elog.c | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/backend/postmaster/launch_backend.c b/src/backend/postmaster/launch_backend.c index 35420b8c9fb..96624e08b5a 100644 --- a/src/backend/postmaster/launch_backend.c +++ b/src/backend/postmaster/launch_backend.c @@ -588,6 +588,8 @@ SubPostmasterMain(int argc, char *argv[]) IsPostmasterEnvironment = true; whereToSendOutput = DestNone; + MyBackendType = B_BACKEND; + /* * Capture the end of process creation for logging. We don't include the * time spent copying data from shared memory and setting up the backend. @@ -611,6 +613,7 @@ SubPostmasterMain(int argc, char *argv[]) if (strcmp(child_process_kinds[idx].name, child_kind) == 0) { child_type = (BackendType) idx; + MyBackendType = child_type; found = true; break; } diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c index 15d771a16c9..d7f4a44c5a7 100644 --- a/src/backend/utils/error/elog.c +++ b/src/backend/utils/error/elog.c @@ -2779,7 +2779,12 @@ get_backend_type_for_log(void) if (MyProcPid == PostmasterPid) backend_type_str = "postmaster"; else if (MyBackendType == B_BG_WORKER) - backend_type_str = MyBgworkerEntry->bgw_type; + { + if (MyBgworkerEntry && MyBgworkerEntry->bgw_type[0] != '\0') + backend_type_str = MyBgworkerEntry->bgw_type; + else + backend_type_str = "early bgworker"; + } else backend_type_str = GetBackendTypeDesc(MyBackendType); -- 2.47.3 --grg2fqqi6tkdt5me--