Add BackendType for standalone backends
authorAndres Freund <[email protected]>
Tue, 23 Aug 2022 03:22:50 +0000 (20:22 -0700)
committerAndres Freund <[email protected]>
Tue, 23 Aug 2022 03:22:50 +0000 (20:22 -0700)
All backends should have a BackendType to enable statistics reporting
per BackendType.

Add a new BackendType for standalone backends, B_STANDALONE_BACKEND (and
alphabetize the BackendTypes). Both the bootstrap backend and single
user mode backends will have BackendType B_STANDALONE_BACKEND.

Author: Melanie Plageman <[email protected]>
Reviewed-by: Andres Freund <[email protected]>
Discussion: https://www.postgresql.org/message-id/CAAKRu_aaq33UnG4TXq3S-OSXGWj1QGf0sU%2BECH4tNwGFNERkZA%40mail.gmail.com

src/backend/utils/init/miscinit.c
src/include/miscadmin.h

index bd973ba613aae0f030e7f34d4d868ad6e027793c..bf3871a774b2acbb62a375417ddd119baa05c36e 100644 (file)
@@ -176,6 +176,8 @@ InitStandaloneProcess(const char *argv0)
 {
        Assert(!IsPostmasterEnvironment);
 
+       MyBackendType = B_STANDALONE_BACKEND;
+
        /*
         * Start our win32 signal implementation
         */
@@ -255,6 +257,9 @@ GetBackendTypeDesc(BackendType backendType)
                case B_INVALID:
                        backendDesc = "not initialized";
                        break;
+               case B_ARCHIVER:
+                       backendDesc = "archiver";
+                       break;
                case B_AUTOVAC_LAUNCHER:
                        backendDesc = "autovacuum launcher";
                        break;
@@ -273,6 +278,12 @@ GetBackendTypeDesc(BackendType backendType)
                case B_CHECKPOINTER:
                        backendDesc = "checkpointer";
                        break;
+               case B_LOGGER:
+                       backendDesc = "logger";
+                       break;
+               case B_STANDALONE_BACKEND:
+                       backendDesc = "standalone backend";
+                       break;
                case B_STARTUP:
                        backendDesc = "startup";
                        break;
@@ -285,12 +296,6 @@ GetBackendTypeDesc(BackendType backendType)
                case B_WAL_WRITER:
                        backendDesc = "walwriter";
                        break;
-               case B_ARCHIVER:
-                       backendDesc = "archiver";
-                       break;
-               case B_LOGGER:
-                       backendDesc = "logger";
-                       break;
        }
 
        return backendDesc;
index 067b729d5a5cd73adadffe6e008d67d188422e5f..7c41b2799422a867586e0ee941fe4ff7939ef992 100644 (file)
@@ -316,18 +316,19 @@ extern void SwitchBackToLocalLatch(void);
 typedef enum BackendType
 {
        B_INVALID = 0,
+       B_ARCHIVER,
        B_AUTOVAC_LAUNCHER,
        B_AUTOVAC_WORKER,
        B_BACKEND,
        B_BG_WORKER,
        B_BG_WRITER,
        B_CHECKPOINTER,
+       B_LOGGER,
+       B_STANDALONE_BACKEND,
        B_STARTUP,
        B_WAL_RECEIVER,
        B_WAL_SENDER,
        B_WAL_WRITER,
-       B_ARCHIVER,
-       B_LOGGER,
 } BackendType;
 
 extern PGDLLIMPORT BackendType MyBackendType;