1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-29 10:41:53 +03:00

Unify several ways to tracking backend type

Add a new global variable MyBackendType that uses the same BackendType
enum that was previously only used by the stats collector.  That way
several duplicate ways of checking what type a particular process is
can be simplified.  Since it's no longer just for stats, move to
miscinit.c and rename existing functions to match the expanded
purpose.

Reviewed-by: Julien Rouhaud <rjuju123@gmail.com>
Reviewed-by: Kuntal Ghosh <kuntalghosh.2007@gmail.com>
Reviewed-by: Alvaro Herrera <alvherre@2ndquadrant.com>
Discussion: https://www.postgresql.org/message-id/flat/c65e5196-4f04-4ead-9353-6088c19615a3@2ndquadrant.com
This commit is contained in:
Peter Eisentraut
2020-03-11 16:36:40 +01:00
parent 1cc9c2412c
commit 8e8a0becb3
12 changed files with 126 additions and 164 deletions

View File

@ -314,36 +314,28 @@ AuxiliaryProcessMain(int argc, char *argv[])
proc_exit(1);
}
/*
* Identify myself via ps
*/
if (IsUnderPostmaster)
switch (MyAuxProcType)
{
const char *statmsg;
switch (MyAuxProcType)
{
case StartupProcess:
statmsg = pgstat_get_backend_desc(B_STARTUP);
break;
case BgWriterProcess:
statmsg = pgstat_get_backend_desc(B_BG_WRITER);
break;
case CheckpointerProcess:
statmsg = pgstat_get_backend_desc(B_CHECKPOINTER);
break;
case WalWriterProcess:
statmsg = pgstat_get_backend_desc(B_WAL_WRITER);
break;
case WalReceiverProcess:
statmsg = pgstat_get_backend_desc(B_WAL_RECEIVER);
break;
default:
statmsg = "??? process";
break;
}
init_ps_display(statmsg);
case StartupProcess:
MyBackendType = B_STARTUP;
break;
case BgWriterProcess:
MyBackendType = B_BG_WRITER;
break;
case CheckpointerProcess:
MyBackendType = B_CHECKPOINTER;
break;
case WalWriterProcess:
MyBackendType = B_WAL_WRITER;
break;
case WalReceiverProcess:
MyBackendType = B_WAL_RECEIVER;
break;
default:
MyBackendType = B_INVALID;
}
if (IsUnderPostmaster)
init_ps_display(NULL);
/* Acquire configuration parameters, unless inherited from postmaster */
if (!IsUnderPostmaster)