diff options
Diffstat (limited to 'src/backend/bootstrap/bootstrap.c')
-rw-r--r-- | src/backend/bootstrap/bootstrap.c | 157 |
1 files changed, 0 insertions, 157 deletions
diff --git a/src/backend/bootstrap/bootstrap.c b/src/backend/bootstrap/bootstrap.c index e2c01e56259..80dc3b585f6 100644 --- a/src/backend/bootstrap/bootstrap.c +++ b/src/backend/bootstrap/bootstrap.c @@ -33,11 +33,6 @@ #include "miscadmin.h" #include "nodes/makefuncs.h" #include "pg_getopt.h" -#include "pgstat.h" -#include "postmaster/bgwriter.h" -#include "postmaster/startup.h" -#include "postmaster/walwriter.h" -#include "replication/walreceiver.h" #include "storage/bufmgr.h" #include "storage/bufpage.h" #include "storage/condition_variable.h" @@ -47,7 +42,6 @@ #include "utils/builtins.h" #include "utils/fmgroids.h" #include "utils/memutils.h" -#include "utils/ps_status.h" #include "utils/rel.h" #include "utils/relmapper.h" @@ -56,7 +50,6 @@ uint32 bootstrap_data_checksum_version = 0; /* No checksum */ static void CheckerModeMain(void); static void bootstrap_signals(void); -static void ShutdownAuxiliaryProcess(int code, Datum arg); static Form_pg_attribute AllocateAttribute(void); static void populate_typ_list(void); static Oid gettype(char *type); @@ -67,8 +60,6 @@ static void cleanup(void); * ---------------- */ -AuxProcType MyAuxProcType = NotAnAuxProcess; /* declared in miscadmin.h */ - Relation boot_reldesc; /* current relation descriptor */ Form_pg_attribute attrtypes[MAXATTR]; /* points to attribute info */ @@ -185,139 +176,6 @@ static IndexList *ILHead = NULL; /* - * AuxiliaryProcessMain - * - * The main entry point for auxiliary processes, such as the bgwriter, - * walwriter, walreceiver, bootstrapper and the shared memory checker code. - * - * This code is here just because of historical reasons. - */ -void -AuxiliaryProcessMain(AuxProcType auxtype) -{ - Assert(IsUnderPostmaster); - - MyAuxProcType = auxtype; - - switch (MyAuxProcType) - { - case StartupProcess: - MyBackendType = B_STARTUP; - break; - case ArchiverProcess: - MyBackendType = B_ARCHIVER; - 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: - elog(ERROR, "something has gone wrong"); - MyBackendType = B_INVALID; - } - - init_ps_display(NULL); - - SetProcessingMode(BootstrapProcessing); - IgnoreSystemIndexes = true; - - BaseInit(); - - /* - * As an auxiliary process, we aren't going to do the full InitPostgres - * pushups, but there are a couple of things that need to get lit up even - * in an auxiliary process. - */ - - /* - * Create a PGPROC so we can use LWLocks. In the EXEC_BACKEND case, this - * was already done by SubPostmasterMain(). - */ -#ifndef EXEC_BACKEND - InitAuxiliaryProcess(); -#endif - - /* - * Assign the ProcSignalSlot for an auxiliary process. Since it doesn't - * have a BackendId, the slot is statically allocated based on the - * auxiliary process type (MyAuxProcType). Backends use slots indexed in - * the range from 1 to MaxBackends (inclusive), so we use MaxBackends + - * AuxProcType + 1 as the index of the slot for an auxiliary process. - * - * This will need rethinking if we ever want more than one of a particular - * auxiliary process type. - */ - ProcSignalInit(MaxBackends + MyAuxProcType + 1); - - /* finish setting up bufmgr.c */ - InitBufferPoolBackend(); - - /* - * Auxiliary processes don't run transactions, but they may need a - * resource owner anyway to manage buffer pins acquired outside - * transactions (and, perhaps, other things in future). - */ - CreateAuxProcessResourceOwner(); - - /* Initialize statistics reporting */ - pgstat_initialize(); - - /* Initialize backend status information */ - pgstat_beinit(); - pgstat_bestart(); - - /* register a before-shutdown callback for LWLock cleanup */ - before_shmem_exit(ShutdownAuxiliaryProcess, 0); - - SetProcessingMode(NormalProcessing); - - switch (MyAuxProcType) - { - case CheckerProcess: - case BootstrapProcess: - pg_unreachable(); - break; - - case StartupProcess: - StartupProcessMain(); - proc_exit(1); - - case ArchiverProcess: - PgArchiverMain(); - proc_exit(1); - - case BgWriterProcess: - BackgroundWriterMain(); - proc_exit(1); - - case CheckpointerProcess: - CheckpointerMain(); - proc_exit(1); - - case WalWriterProcess: - InitXLOGAccess(); - WalWriterMain(); - proc_exit(1); - - case WalReceiverProcess: - WalReceiverMain(); - proc_exit(1); - - default: - elog(PANIC, "unrecognized process type: %d", (int) MyAuxProcType); - proc_exit(1); - } -} - -/* * In shared memory checker mode, all we really want to do is create shared * memory and semaphores (just to prove we can do it with the current GUC * settings). Since, in fact, that was already done by BaseInit(), @@ -554,21 +412,6 @@ bootstrap_signals(void) pqsignal(SIGQUIT, SIG_DFL); } -/* - * Begin shutdown of an auxiliary process. This is approximately the equivalent - * of ShutdownPostgres() in postinit.c. We can't run transactions in an - * auxiliary process, so most of the work of AbortTransaction() is not needed, - * but we do need to make sure we've released any LWLocks we are holding. - * (This is only critical during an error exit.) - */ -static void -ShutdownAuxiliaryProcess(int code, Datum arg) -{ - LWLockReleaseAll(); - ConditionVariableCancelSleep(); - pgstat_report_wait_end(); -} - /* ---------------------------------------------------------------- * MANUAL BACKEND INTERACTIVE INTERFACE COMMANDS * ---------------------------------------------------------------- |