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;