From 165b5936200015a90b9d12441be94f7368d32e4c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=81lvaro=20Herrera?= <alvherre@kurilemu.de>
Date: Wed, 10 Dec 2025 11:18:36 +0100
Subject: [PATCH 2/2] use the backend name in a couple of places

---
 src/backend/tcop/backend_startup.c |  2 +-
 src/backend/utils/error/elog.c     |  2 +-
 src/backend/utils/init/miscinit.c  | 18 ++++++++++++++++++
 src/backend/utils/misc/ps_status.c |  2 +-
 src/include/miscadmin.h            |  1 +
 5 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/src/backend/tcop/backend_startup.c b/src/backend/tcop/backend_startup.c
index 14d5fc0b196..bed0ca28d1c 100644
--- a/src/backend/tcop/backend_startup.c
+++ b/src/backend/tcop/backend_startup.c
@@ -377,7 +377,7 @@ BackendInitialize(ClientSocket *client_sock, CAC_state cac)
 	 */
 	initStringInfo(&ps_data);
 	if (am_walsender)
-		appendStringInfo(&ps_data, "%s ", GetBackendTypeDesc(B_WAL_SENDER));
+		appendStringInfo(&ps_data, "%s ", GetBackendTypeName(B_WAL_SENDER));
 	appendStringInfo(&ps_data, "%s ", port->user_name);
 	if (port->database_name[0] != '\0')
 		appendStringInfo(&ps_data, "%s ", port->database_name);
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 4c5a9283208..72e76dbcdfd 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -2781,7 +2781,7 @@ get_backend_type_for_log(void)
 	else if (MyBackendType == B_BG_WORKER)
 		backend_type_str = MyBgworkerEntry->bgw_type;
 	else
-		backend_type_str = GetBackendTypeDesc(MyBackendType);
+		backend_type_str = GetBackendTypeName(MyBackendType);
 
 	return backend_type_str;
 }
diff --git a/src/backend/utils/init/miscinit.c b/src/backend/utils/init/miscinit.c
index 4199f69ccdd..62f087d0bd9 100644
--- a/src/backend/utils/init/miscinit.c
+++ b/src/backend/utils/init/miscinit.c
@@ -274,6 +274,24 @@ GetBackendTypeDesc(BackendType backendType)
 	return backendDesc;
 }
 
+/*
+ * Return the non-translated, short name of a BackendType.
+ */
+const char *
+GetBackendTypeName(BackendType backendType)
+{
+	const char *backendName = "unknown";
+
+	switch (backendType)
+	{
+#define PG_PROCTYPE(bktype, name, description, main_fun, shmem_attach) \
+		case bktype: backendName = name; break;
+#include "postmaster/proctypelist.h"
+#undef PG_PROCTYPE
+	}
+	return backendName;
+}
+
 /* ----------------------------------------------------------------
  *				database path / name support stuff
  * ----------------------------------------------------------------
diff --git a/src/backend/utils/misc/ps_status.c b/src/backend/utils/misc/ps_status.c
index 5d8de92a57b..acefd1204d3 100644
--- a/src/backend/utils/misc/ps_status.c
+++ b/src/backend/utils/misc/ps_status.c
@@ -290,7 +290,7 @@ init_ps_display(const char *fixed_part)
 
 	Assert(fixed_part || MyBackendType);
 	if (!fixed_part)
-		fixed_part = GetBackendTypeDesc(MyBackendType);
+		fixed_part = GetBackendTypeName(MyBackendType);
 
 #ifndef PS_USE_NONE
 	/* no ps display for stand-alone backend */
diff --git a/src/include/miscadmin.h b/src/include/miscadmin.h
index 9a7d733ddef..42d6af748ec 100644
--- a/src/include/miscadmin.h
+++ b/src/include/miscadmin.h
@@ -406,6 +406,7 @@ extern PGDLLIMPORT BackendType MyBackendType;
 	(backend_type == B_BACKEND || backend_type == B_WAL_SENDER)
 
 extern const char *GetBackendTypeDesc(BackendType backendType);
+extern const char *GetBackendTypeName(BackendType backendType);
 
 extern void SetDatabasePath(const char *path);
 extern void checkDataDir(void);
-- 
2.47.3

