Add BackendType for standalone backends

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 <melanieplageman@gmail.com>
Reviewed-by: Andres Freund <andres@anarazel.de>
Discussion: https://www.postgresql.org/message-id/CAAKRu_aaq33UnG4TXq3S-OSXGWj1QGf0sU%2BECH4tNwGFNERkZA%40mail.gmail.com
This commit is contained in:
Andres Freund 2022-08-22 20:22:50 -07:00
parent cd063344fb
commit 0c679464a8
2 changed files with 14 additions and 8 deletions

View 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;

View 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;