diff options
Diffstat (limited to 'src/backend/postmaster')
-rw-r--r-- | src/backend/postmaster/autovacuum.c | 8 | ||||
-rw-r--r-- | src/backend/postmaster/bgworker.c | 2 | ||||
-rw-r--r-- | src/backend/postmaster/pgarch.c | 6 | ||||
-rw-r--r-- | src/backend/postmaster/pgstat.c | 105 | ||||
-rw-r--r-- | src/backend/postmaster/postmaster.c | 7 | ||||
-rw-r--r-- | src/backend/postmaster/syslogger.c | 3 |
6 files changed, 18 insertions, 113 deletions
diff --git a/src/backend/postmaster/autovacuum.c b/src/backend/postmaster/autovacuum.c index a6499fc3da6..da75e755f0f 100644 --- a/src/backend/postmaster/autovacuum.c +++ b/src/backend/postmaster/autovacuum.c @@ -433,8 +433,8 @@ AutoVacLauncherMain(int argc, char *argv[]) am_autovacuum_launcher = true; - /* Identify myself via ps */ - init_ps_display(pgstat_get_backend_desc(B_AUTOVAC_LAUNCHER)); + MyBackendType = B_AUTOVAC_LAUNCHER; + init_ps_display(NULL); ereport(DEBUG1, (errmsg("autovacuum launcher started"))); @@ -1506,8 +1506,8 @@ AutoVacWorkerMain(int argc, char *argv[]) am_autovacuum_worker = true; - /* Identify myself via ps */ - init_ps_display(pgstat_get_backend_desc(B_AUTOVAC_WORKER)); + MyBackendType = B_AUTOVAC_WORKER; + init_ps_display(NULL); SetProcessingMode(InitProcessing); diff --git a/src/backend/postmaster/bgworker.c b/src/backend/postmaster/bgworker.c index 684250984d4..6c684b5e12b 100644 --- a/src/backend/postmaster/bgworker.c +++ b/src/backend/postmaster/bgworker.c @@ -688,7 +688,7 @@ StartBackgroundWorker(void) IsBackgroundWorker = true; - /* Identify myself via ps */ + MyBackendType = B_BG_WORKER; init_ps_display(worker->bgw_name); /* diff --git a/src/backend/postmaster/pgarch.c b/src/backend/postmaster/pgarch.c index 58f54544f60..01ffd6513c7 100644 --- a/src/backend/postmaster/pgarch.c +++ b/src/backend/postmaster/pgarch.c @@ -238,10 +238,8 @@ PgArchiverMain(int argc, char *argv[]) pqsignal(SIGCHLD, SIG_DFL); PG_SETMASK(&UnBlockSig); - /* - * Identify myself via ps - */ - init_ps_display("archiver"); + MyBackendType = B_ARCHIVER; + init_ps_display(NULL); pgarch_MainLoop(); diff --git a/src/backend/postmaster/pgstat.c b/src/backend/postmaster/pgstat.c index 107c9653366..f9287b79425 100644 --- a/src/backend/postmaster/pgstat.c +++ b/src/backend/postmaster/pgstat.c @@ -2892,62 +2892,7 @@ pgstat_bestart(void) * out-of-line data. Those have to be handled separately, below. */ lbeentry.st_procpid = MyProcPid; - - if (MyBackendId != InvalidBackendId) - { - if (IsAutoVacuumLauncherProcess()) - { - /* Autovacuum Launcher */ - lbeentry.st_backendType = B_AUTOVAC_LAUNCHER; - } - else if (IsAutoVacuumWorkerProcess()) - { - /* Autovacuum Worker */ - lbeentry.st_backendType = B_AUTOVAC_WORKER; - } - else if (am_walsender) - { - /* Wal sender */ - lbeentry.st_backendType = B_WAL_SENDER; - } - else if (IsBackgroundWorker) - { - /* bgworker */ - lbeentry.st_backendType = B_BG_WORKER; - } - else - { - /* client-backend */ - lbeentry.st_backendType = B_BACKEND; - } - } - else - { - /* Must be an auxiliary process */ - Assert(MyAuxProcType != NotAnAuxProcess); - switch (MyAuxProcType) - { - case StartupProcess: - lbeentry.st_backendType = B_STARTUP; - break; - case BgWriterProcess: - lbeentry.st_backendType = B_BG_WRITER; - break; - case CheckpointerProcess: - lbeentry.st_backendType = B_CHECKPOINTER; - break; - case WalWriterProcess: - lbeentry.st_backendType = B_WAL_WRITER; - break; - case WalReceiverProcess: - lbeentry.st_backendType = B_WAL_RECEIVER; - break; - default: - elog(FATAL, "unrecognized process type: %d", - (int) MyAuxProcType); - } - } - + lbeentry.st_backendType = MyBackendType; lbeentry.st_proc_start_timestamp = MyStartTimestamp; lbeentry.st_activity_start_timestamp = 0; lbeentry.st_state_start_timestamp = 0; @@ -4269,48 +4214,6 @@ pgstat_get_crashed_backend_activity(int pid, char *buffer, int buflen) return NULL; } -const char * -pgstat_get_backend_desc(BackendType backendType) -{ - const char *backendDesc = "unknown process type"; - - switch (backendType) - { - case B_AUTOVAC_LAUNCHER: - backendDesc = "autovacuum launcher"; - break; - case B_AUTOVAC_WORKER: - backendDesc = "autovacuum worker"; - break; - case B_BACKEND: - backendDesc = "client backend"; - break; - case B_BG_WORKER: - backendDesc = "background worker"; - break; - case B_BG_WRITER: - backendDesc = "background writer"; - break; - case B_CHECKPOINTER: - backendDesc = "checkpointer"; - break; - case B_STARTUP: - backendDesc = "startup"; - break; - case B_WAL_RECEIVER: - backendDesc = "walreceiver"; - break; - case B_WAL_SENDER: - backendDesc = "walsender"; - break; - case B_WAL_WRITER: - backendDesc = "walwriter"; - break; - } - - return backendDesc; -} - /* ------------------------------------------------------------ * Local support functions follow * ------------------------------------------------------------ @@ -4447,10 +4350,8 @@ PgstatCollectorMain(int argc, char *argv[]) pqsignal(SIGCHLD, SIG_DFL); PG_SETMASK(&UnBlockSig); - /* - * Identify myself via ps - */ - init_ps_display("stats collector"); + MyBackendType = B_STATS_COLLECTOR; + init_ps_display(NULL); /* * Read in existing stats files or initialize the stats to zero. diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index 46be78aadbf..2b9ab322931 100644 --- a/src/backend/postmaster/postmaster.c +++ b/src/backend/postmaster/postmaster.c @@ -2259,6 +2259,11 @@ retry1: if (strlen(port->user_name) >= NAMEDATALEN) port->user_name[NAMEDATALEN - 1] = '\0'; + if (am_walsender) + MyBackendType = B_WAL_SENDER; + else + MyBackendType = B_BACKEND; + /* * Normal walsender backends, e.g. for streaming replication, are not * connected to a particular database. But walsenders used for logical @@ -4422,7 +4427,7 @@ BackendInitialize(Port *port) */ initStringInfo(&ps_data); if (am_walsender) - appendStringInfo(&ps_data, "%s ", pgstat_get_backend_desc(B_WAL_SENDER)); + appendStringInfo(&ps_data, "%s ", GetBackendTypeDesc(B_WAL_SENDER)); appendStringInfo(&ps_data, "%s ", port->user_name); if (!am_walsender) appendStringInfo(&ps_data, "%s ", port->database_name); diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c index b394599236f..3b708c3f670 100644 --- a/src/backend/postmaster/syslogger.c +++ b/src/backend/postmaster/syslogger.c @@ -179,7 +179,8 @@ SysLoggerMain(int argc, char *argv[]) am_syslogger = true; - init_ps_display("logger"); + MyBackendType = B_LOGGER; + init_ps_display(NULL); /* * If we restarted, our stderr is already redirected into our own input |