|
PostgreSQL Source Code git master
|
#include "postgres.h"#include <unistd.h>#include <signal.h>#include <time.h>#include <sys/wait.h>#include <ctype.h>#include <sys/stat.h>#include <sys/socket.h>#include <fcntl.h>#include <sys/param.h>#include <netdb.h>#include <limits.h>#include "access/xlog.h"#include "access/xlog_internal.h"#include "access/xlogrecovery.h"#include "common/file_perm.h"#include "common/pg_prng.h"#include "lib/ilist.h"#include "libpq/libpq.h"#include "libpq/pqsignal.h"#include "pgstat.h"#include "port/pg_bswap.h"#include "port/pg_getopt_ctx.h"#include "postmaster/autovacuum.h"#include "postmaster/bgworker_internals.h"#include "postmaster/pgarch.h"#include "postmaster/postmaster.h"#include "postmaster/syslogger.h"#include "postmaster/walsummarizer.h"#include "replication/logicallauncher.h"#include "replication/slotsync.h"#include "replication/walsender.h"#include "storage/aio_subsys.h"#include "storage/fd.h"#include "storage/io_worker.h"#include "storage/ipc.h"#include "storage/pmsignal.h"#include "storage/proc.h"#include "storage/shmem_internal.h"#include "tcop/backend_startup.h"#include "tcop/tcopprot.h"#include "utils/datetime.h"#include "utils/memutils.h"#include "utils/pidfile.h"#include "utils/timestamp.h"#include "utils/varlena.h"
Go to the source code of this file.
Data Structures | |
| struct | BackendTypeMask |
Macros | |
| #define | btmask_add(mask, ...) |
| #define | btmask_all_except(...) |
| #define | MAXLISTEN 64 |
| #define | NoShutdown 0 |
| #define | SmartShutdown 1 |
| #define | FastShutdown 2 |
| #define | ImmediateShutdown 3 |
| #define | SIGKILL_CHILDREN_AFTER_SECS 5 |
| #define | EXIT_STATUS_0(st) ((st) == 0) |
| #define | EXIT_STATUS_1(st) (WIFEXITED(st) && WEXITSTATUS(st) == 1) |
| #define | EXIT_STATUS_3(st) (WIFEXITED(st) && WEXITSTATUS(st) == 3) |
| #define | PM_TOSTR_CASE(sym) case sym: return #sym |
| #define | PM_TOSTR_CASE(sym) case sym: return #sym |
| #define | OPTS_FILE "postmaster.opts" |
| #define | MAX_BGWORKERS_TO_LAUNCH 100 |
Enumerations | |
| enum | StartupStatusEnum { STARTUP_NOT_RUNNING , STARTUP_RUNNING , STARTUP_SIGNALED , STARTUP_CRASHED } |
| enum | PMState { PM_INIT , PM_STARTUP , PM_RECOVERY , PM_HOT_STANDBY , PM_RUN , PM_STOP_BACKENDS , PM_WAIT_BACKENDS , PM_WAIT_XLOG_SHUTDOWN , PM_WAIT_XLOG_ARCHIVAL , PM_WAIT_IO_WORKERS , PM_WAIT_CHECKPOINTER , PM_WAIT_DEAD_END , PM_NO_CHILDREN } |
| #define btmask_add | ( | mask, | |
| ... | |||
| ) |
Definition at line 165 of file postmaster.c.
| #define btmask_all_except | ( | ... | ) |
Definition at line 188 of file postmaster.c.
| #define EXIT_STATUS_0 | ( | st | ) | ((st) == 0) |
Definition at line 478 of file postmaster.c.
| #define EXIT_STATUS_1 | ( | st | ) | (WIFEXITED(st) && WEXITSTATUS(st) == 1) |
Definition at line 479 of file postmaster.c.
| #define EXIT_STATUS_3 | ( | st | ) | (WIFEXITED(st) && WEXITSTATUS(st) == 3) |
Definition at line 480 of file postmaster.c.
| #define FastShutdown 2 |
Definition at line 286 of file postmaster.c.
| #define ImmediateShutdown 3 |
Definition at line 287 of file postmaster.c.
| #define MAX_BGWORKERS_TO_LAUNCH 100 |
| #define MAXLISTEN 64 |
Definition at line 234 of file postmaster.c.
| #define NoShutdown 0 |
Definition at line 284 of file postmaster.c.
| #define OPTS_FILE "postmaster.opts" |
| #define SIGKILL_CHILDREN_AFTER_SECS 5 |
Definition at line 370 of file postmaster.c.
| #define SmartShutdown 1 |
Definition at line 285 of file postmaster.c.
Definition at line 336 of file postmaster.c.
| Enumerator | |
|---|---|
| STARTUP_NOT_RUNNING | |
| STARTUP_RUNNING | |
| STARTUP_SIGNALED | |
| STARTUP_CRASHED | |
Definition at line 273 of file postmaster.c.
|
static |
Definition at line 3576 of file postmaster.c.
References AllocDeadEndChild(), AssignPostmasterChildSlot(), B_BACKEND, CAC_OK, CAC_TOOMANY, canAcceptConnections(), DEBUG2, ereport, errcode(), errmsg, errmsg_internal(), fb(), GetBackendTypeDesc(), GetCurrentTimestamp(), LOG, postmaster_child_launch(), ReleasePostmasterChildSlot(), report_fork_failure_to_client(), BackendStartupData::socket_created, STATUS_ERROR, and STATUS_OK.
Referenced by ServerLoop().
|
static |
Definition at line 4234 of file postmaster.c.
References BgWorkerStart_ConsistentState, BgWorkerStart_PostmasterStart, BgWorkerStart_RecoveryFinished, pg_fallthrough, PM_HOT_STANDBY, PM_INIT, PM_NO_CHILDREN, PM_RECOVERY, PM_RUN, PM_STARTUP, PM_STOP_BACKENDS, PM_WAIT_BACKENDS, PM_WAIT_CHECKPOINTER, PM_WAIT_DEAD_END, PM_WAIT_IO_WORKERS, PM_WAIT_XLOG_ARCHIVAL, PM_WAIT_XLOG_SHUTDOWN, pmState, and start_time.
Referenced by maybe_start_bgworkers().
|
inlinestatic |
Definition at line 150 of file postmaster.c.
References BackendTypeMask::mask.
Referenced by PostmasterStateMachine(), and process_pm_pmsignal().
|
inlinestatic |
|
inlinestatic |
Definition at line 179 of file postmaster.c.
References btmask_del(), BTYPE_MASK_ALL, and i.
|
inlinestatic |
Definition at line 195 of file postmaster.c.
References BackendTypeMask::mask.
Referenced by CountChildren(), and SignalChildren().
|
inlinestatic |
Definition at line 172 of file postmaster.c.
References BackendTypeMask::mask.
Referenced by btmask_all_except_n().
|
static |
Definition at line 1837 of file postmaster.c.
References Assert, B_AUTOVAC_WORKER, B_BACKEND, CAC_NOTHOTSTANDBY, CAC_OK, CAC_RECOVERY, CAC_SHUTDOWN, CAC_STARTUP, connsAllowed, FatalError, fb(), NoShutdown, PM_HOT_STANDBY, PM_RECOVERY, PM_RUN, PM_STARTUP, pmState, result, and Shutdown.
Referenced by BackendStartup(), and StartAutovacuumWorker().
Definition at line 1530 of file postmaster.c.
References AllocateFile(), DataDir, ExitPostmaster(), fb(), FreeFile(), MAXPGPATH, PG_BINARY_R, progname, snprintf, write_stderr, and XLOG_CONTROL_FILE.
Referenced by digestControlFile(), and PostmasterMain().
Definition at line 2588 of file postmaster.c.
References _, AutoVacLauncherPMChild, B_AUTOVAC_WORKER, B_BG_WORKER, BackgroundWorkerStopNotifications(), DEBUG1, DEBUG2, EXIT_STATUS_0, EXIT_STATUS_1, fb(), GetBackendTypeDesc(), GetCurrentTimestamp(), HandleChildCrash(), HaveCrashedWorker, LOG, LogChildExit(), MAXPGPATH, ReleasePostmasterChildSlot(), ReportBackgroundWorkerExit(), RegisteredBgWorker::rw_crashed_at, RegisteredBgWorker::rw_pid, RegisteredBgWorker::rw_terminate, signal_child(), SIGUSR2, and snprintf.
Referenced by process_pm_child_exit().
Definition at line 1881 of file postmaster.c.
References close, closesocket, elog, ereport, errcode_for_file_access(), errmsg_internal(), FATAL, fb(), FreeWaitEventSetAfterFork(), i, ListenSockets, LOG, NumListenSockets, pfree(), pm_wait_set, postmaster_alive_fds, POSTMASTER_FD_OWN, ReleaseExternalFD(), and syslogPipe.
Referenced by postmaster_child_launch().
Definition at line 1430 of file postmaster.c.
References closesocket, elog, i, ListenSockets, LOG, NumListenSockets, and RemoveSocketFiles().
Referenced by PostmasterMain().
Definition at line 1655 of file postmaster.c.
References AddWaitEventToSet(), CreateWaitEventSet(), fb(), FreeWaitEventSet(), i, ListenSockets, MyLatch, NumListenSockets, PGINVALID_SOCKET, pm_wait_set, WL_LATCH_SET, and WL_SOCKET_ACCEPT.
Referenced by HandleFatalError(), PostmasterStateMachine(), process_pm_child_exit(), and ServerLoop().
|
static |
Definition at line 3966 of file postmaster.c.
References ActiveChildList, B_BACKEND, B_WAL_SENDER, btmask_contains(), dlist_iter::cur, DEBUG4, dlist_container, dlist_foreach, ereport, errmsg_internal(), fb(), GetBackendTypeDesc(), and IsPostmasterChildWalSender().
Referenced by PostmasterStateMachine().
Definition at line 4131 of file postmaster.c.
References ereport, errcode_for_file_access(), errmsg, fb(), fprintf, i, LOG, and OPTS_FILE.
Referenced by PostmasterMain().
Definition at line 1559 of file postmaster.c.
References AbortStartTime, BackgroundWorkerList, BGW_NEVER_RESTART, BackgroundWorker::bgw_restart_time, dlist_mutable_iter::cur, dlist_container, dlist_foreach_modify, fb(), ForgetBackgroundWorker(), GetCurrentTimestamp(), HaveCrashedWorker, ImmediateShutdown, maybe_start_io_workers_scheduled_at(), Min, NoShutdown, RegisteredBgWorker::rw_crashed_at, RegisteredBgWorker::rw_terminate, RegisteredBgWorker::rw_worker, Shutdown, SIGKILL_CHILDREN_AFTER_SECS, StartWorkerNeeded, TimestampDifferenceMilliseconds(), and TimestampTzPlusMilliseconds.
Referenced by ServerLoop().
|
static |
Definition at line 3693 of file postmaster.c.
References ereport, errcode(), errhint(), errmsg, fb(), LOG, and proc_exit().
Referenced by checkControlFile(), PostmasterMain(), PostmasterStateMachine(), and StartChildProcess().
Definition at line 1476 of file postmaster.c.
References AllocateDir(), argv0, ereport, errcode_for_file_access(), errhint(), errmsg, ERROR, FATAL, fb(), find_my_exec(), find_other_exec(), FreeDir(), get_pkglib_path(), my_exec_path, PG_BACKEND_VERSIONSTR, and pkglib_path.
Referenced by PostmasterMain().
|
static |
Definition at line 2251 of file postmaster.c.
References MyLatch, pending_pm_child_exit, and SetLatch().
Referenced by PostmasterMain().
|
static |
Definition at line 2003 of file postmaster.c.
References MyLatch, pending_pm_pmsignal, and SetLatch().
Referenced by PostmasterMain().
|
static |
Definition at line 2013 of file postmaster.c.
References MyLatch, pending_pm_reload_request, and SetLatch().
Referenced by PostmasterMain().
|
static |
Definition at line 2076 of file postmaster.c.
References fb(), MyLatch, pending_pm_fast_shutdown_request, pending_pm_immediate_shutdown_request, pending_pm_shutdown_request, SetLatch(), and SIGQUIT.
Referenced by PostmasterMain().
Definition at line 2818 of file postmaster.c.
References ereport, errmsg, FatalError, fb(), HandleFatalError(), ImmediateShutdown, LOG, LogChildExit(), PMQUIT_FOR_CRASH, and Shutdown.
Referenced by CleanupBackend(), and process_pm_child_exit().
|
static |
Definition at line 2732 of file postmaster.c.
References AbortStartTime, Assert, ConfigurePostmasterWaitSet(), FatalError, fb(), ImmediateShutdown, PM_HOT_STANDBY, PM_INIT, PM_NO_CHILDREN, PM_RECOVERY, PM_RUN, PM_STARTUP, PM_STOP_BACKENDS, PM_WAIT_BACKENDS, PM_WAIT_CHECKPOINTER, PM_WAIT_DEAD_END, PM_WAIT_IO_WORKERS, PM_WAIT_XLOG_ARCHIVAL, PM_WAIT_XLOG_SHUTDOWN, pmState, send_abort_for_crash, SetQuitSignalReason(), Shutdown, SIGABRT, SIGQUIT, TerminateChildren(), and UpdatePMState().
Referenced by HandleChildCrash(), PostmasterStateMachine(), and process_pm_pmsignal().
Definition at line 4695 of file postmaster.c.
References Assert, ereport, errcode_for_file_access(), errcode_for_socket_access(), errmsg_internal(), FATAL, fb(), MyProcPid, postmaster_alive_fds, POSTMASTER_FD_WATCH, PostmasterPid, and ReserveExternalFD().
Referenced by PostmasterMain().
Definition at line 1958 of file postmaster.c.
References fb(), GetCurrentTimestamp(), MyProcPid, MyStartTime, MyStartTimestamp, pg_global_prng_state, pg_initialize_timing(), pg_prng_seed(), pg_prng_strong_seed, pg_prng_uint32(), timestamptz_to_time_t(), and unlikely.
Referenced by InitPostmasterChild(), InitStandaloneProcess(), and PostmasterMain().
Definition at line 3325 of file postmaster.c.
References AutoVacLauncherPMChild, AutoVacuumingActive(), B_ARCHIVER, B_AUTOVAC_LAUNCHER, B_BG_WRITER, B_CHECKPOINTER, B_SLOTSYNC_WORKER, B_WAL_RECEIVER, B_WAL_SUMMARIZER, B_WAL_WRITER, BgWriterPMChild, CheckpointerPMChild, fb(), HaveCrashedWorker, IsBinaryUpgrade, LOG, Logging_collector, maybe_start_bgworkers(), maybe_start_io_workers(), PgArchCanRestart(), PgArchPMChild, PM_HOT_STANDBY, PM_RECOVERY, PM_RUN, PM_STARTUP, pmState, Shutdown, SlotSyncWorkerCanRestart(), SlotSyncWorkerPMChild, SmartShutdown, start_autovac_launcher, StartChildProcess(), StartSysLogger(), StartWorkerNeeded, summarize_wal, sync_replication_slots, SysLoggerPMChild, ValidateSlotSyncParams(), WalReceiverPMChild, WalReceiverRequested, WalSummarizerPMChild, WalWriterPMChild, XLogArchivingActive, and XLogArchivingAlways.
Referenced by ServerLoop().
Definition at line 2845 of file postmaster.c.
References ereport, errdetail(), errhint(), errmsg, EXIT_STATUS_0, fb(), pg_strsignal(), pgstat_get_crashed_backend_activity(), WEXITSTATUS, WIFEXITED, WIFSIGNALED, and WTERMSIG.
Referenced by CleanupBackend(), HandleChildCrash(), and process_pm_child_exit().
Definition at line 4394 of file postmaster.c.
References fb(), i, io_worker_children, io_worker_count, MAX_IO_WORKERS, and ReleasePostmasterChildSlot().
Referenced by process_pm_child_exit().
Definition at line 4280 of file postmaster.c.
References BackgroundWorkerList, BGW_NEVER_RESTART, BackgroundWorker::bgw_notify_pid, BackgroundWorker::bgw_restart_time, BackgroundWorker::bgw_start_time, bgworker_should_start_now(), dlist_mutable_iter::cur, dlist_container, dlist_foreach_modify, FatalError, fb(), ForgetBackgroundWorker(), GetCurrentTimestamp(), HaveCrashedWorker, kill, MAX_BGWORKERS_TO_LAUNCH, now(), RegisteredBgWorker::rw_crashed_at, RegisteredBgWorker::rw_pid, RegisteredBgWorker::rw_terminate, RegisteredBgWorker::rw_worker, SIGUSR1, StartBackgroundWorker(), StartWorkerNeeded, and TimestampDifferenceExceeds().
Referenced by LaunchMissingBackgroundProcesses(), and PostmasterMain().
Definition at line 4473 of file postmaster.c.
References Assert, B_IO_WORKER, elog, ERROR, fb(), GetCurrentTimestamp(), i, io_min_workers, io_worker_children, io_worker_count, io_worker_launch_interval, io_worker_launch_next_time, MAX_IO_WORKERS, maybe_start_io_workers_scheduled_at(), now(), pgaio_worker_pm_clear_grow_signal_sent(), pgaio_worker_pm_test_grow(), PM_WAIT_IO_WORKERS, pmState, StartChildProcess(), and TimestampTzPlusMilliseconds.
Referenced by LaunchMissingBackgroundProcesses(), PostmasterMain(), PostmasterStateMachine(), and process_pm_child_exit().
|
static |
Definition at line 4420 of file postmaster.c.
References FatalError, ImmediateShutdown, io_max_workers, io_min_workers, io_worker_count, io_worker_launch_next_time, pgaio_worker_pm_test_grow_signal_sent(), pgaio_workers_enabled(), PM_STOP_BACKENDS, PM_WAIT_IO_WORKERS, pmState, Shutdown, and TIMESTAMP_MINUS_INFINITY.
Referenced by DetermineSleepTime(), and maybe_start_io_workers().
Definition at line 3448 of file postmaster.c.
References Assert, fb(), PM_TOSTR_CASE, SIGABRT, SIGCHLD, SIGHUP, SIGKILL, SIGQUIT, SIGUSR1, and SIGUSR2.
Referenced by signal_child().
Definition at line 3279 of file postmaster.c.
References pg_unreachable, PM_HOT_STANDBY, PM_INIT, PM_NO_CHILDREN, PM_RECOVERY, PM_RUN, PM_STARTUP, PM_STOP_BACKENDS, PM_TOSTR_CASE, PM_WAIT_BACKENDS, PM_WAIT_CHECKPOINTER, PM_WAIT_DEAD_END, PM_WAIT_IO_WORKERS, PM_WAIT_XLOG_ARCHIVAL, and PM_WAIT_XLOG_SHUTDOWN.
Referenced by UpdatePMState().
Definition at line 497 of file postmaster.c.
References AddToDataDirLockFile(), ALLOCSET_DEFAULT_SIZES, AllocSetContextCreate, appendStringInfo(), appendStringInfoString(), ApplyLauncherRegister(), ARCHIVE_MODE_OFF, Assert, autovac_init(), B_BG_WRITER, B_CHECKPOINTER, B_STARTUP, BgWriterPMChild, BlockSig, bonjour_name, ChangeToDataDir(), checkControlFile(), checkDataDir(), CheckDateTokenTables(), CheckpointerPMChild, CloseServerPorts(), CreateDataDirLockFile(), CreateOptsFile(), CreateSharedMemoryAndSemaphores(), DEBUG3, DestNone, DISPATCH_POSTMASTER, dummy_handler(), enable_bonjour, EnableSSL, environ, ereport, err(), errcode(), errcode_for_file_access(), errhint(), errmsg, errmsg_internal(), ERROR, ExitPostmaster(), external_pid_file, FATAL, fb(), fprintf, get_stats_option_name(), GetConfigOption(), GetConfigOptionFlags(), GetCurrentTimestamp(), getInstallationPaths(), GUC_RUNTIME_COMPUTED, handle_pm_child_exit_signal(), handle_pm_pmsignal_signal(), handle_pm_reload_request_signal(), handle_pm_shutdown_request_signal(), HbaFileName, InitializeFastPathLocks(), InitializeGUCOptions(), InitializeMaxBackends(), InitializeShmemGUCs(), InitializeWaitEventSupport(), InitializeWalConsistencyChecking(), InitPostmasterChildSlots(), InitPostmasterDeathWatchHandle(), InitProcessGlobals(), InitProcessLocalLatch(), initStringInfo(), IsBinaryUpgrade, IsPostmasterEnvironment, lfirst, list_free(), list_free_deep(), ListenAddresses, ListenServerPort(), ListenSockets, load_hba(), load_ident(), LoadedSSL, LocalProcessControlFile(), LOCK_FILE_LINE_LISTEN_ADDR, LOCK_FILE_LINE_PM_STATUS, LOCK_FILE_LINE_SOCKET_DIR, LOG, Log_destination, LOG_DESTINATION_STDERR, Log_destination_string, LOG_METAINFO_DATAFILE, Logging_collector, max_wal_senders, MaxConnections, MAXLISTEN, maybe_start_bgworkers(), maybe_start_io_workers(), MemoryContextSwitchTo(), message_level_is_interesting(), my_exec_path, MyProcPid, name, NIL, NumListenSockets, on_proc_exit(), palloc(), parse_dispatch_option(), ParseLongOption(), pfree(), pg_fallthrough, pg_getopt_next(), pg_getopt_start(), pg_hton16, PG_MODE_MASK_OWNER, PG_SIG_IGN, PG_TEMP_FILES_DIR, PGC_POSTMASTER, PGC_S_ARGV, PGC_S_OVERRIDE, PGC_SUSET, PgStartTime, pgwin32_signal_initialize(), PM_STARTUP, PM_STATUS_STARTING, PostmasterContext, PostmasterPid, PostPortNumber, pqinitmask(), pqsignal, process_shared_preload_libraries(), process_shmem_requests(), progname, pstrdup(), RegisterBuiltinShmemCallbacks(), RemoveLogrotateSignalFiles(), RemovePgTempFiles(), RemovePgTempFilesInDir(), RemovePromoteSignalFiles(), ReservedConnections, S_IRGRP, S_IROTH, S_IRUSR, S_IWUSR, secure_initialize(), SelectConfigFiles(), ServerLoop(), set_debug_options(), set_max_safe_fds(), set_plan_disabling_options(), SetConfigOption(), ShmemCallRequestCallbacks(), SIGALRM, SIGCHLD, SIGHUP, SIGPIPE, SIGQUIT, SIGUSR1, SIGUSR2, SplitDirectoriesString(), SplitGUCList(), StartChildProcess(), StartSysLogger(), STARTUP_RUNNING, StartupPMChild, StartupStatus, STATUS_OK, success, summarize_wal, SuperuserReservedConnections, sync_replication_slots, TopMemoryContext, UnBlockSig, Unix_socket_directories, unlink_external_pid_file(), UpdatePMState(), userDoption, value, wal_level, WAL_LEVEL_MINIMAL, WARNING, whereToSendOutput, write_stderr, and XLogArchiveMode.
Referenced by main().
Definition at line 4560 of file postmaster.c.
References ActiveChildList, dlist_iter::cur, dlist_container, dlist_foreach, and fb().
Referenced by BackgroundWorkerStateChange().
Definition at line 2911 of file postmaster.c.
References AbortStartTime, Assert, AutoVacLauncherPMChild, B_ARCHIVER, B_AUTOVAC_LAUNCHER, B_AUTOVAC_WORKER, B_BACKEND, B_BG_WORKER, B_BG_WRITER, B_CHECKPOINTER, B_DATACHECKSUMSWORKER_LAUNCHER, B_DATACHECKSUMSWORKER_WORKER, B_DEAD_END_BACKEND, B_INVALID, B_IO_WORKER, B_LOGGER, B_SLOTSYNC_WORKER, B_STANDALONE_BACKEND, B_STARTUP, B_WAL_RECEIVER, B_WAL_SENDER, B_WAL_SUMMARIZER, B_WAL_WRITER, BgWriterPMChild, btmask(), btmask_add, btmask_all_except, BTYPE_MASK_ALL, BTYPE_MASK_NONE, CheckpointerPMChild, ConfigurePostmasterWaitSet(), connsAllowed, CountChildren(), CreateSharedMemoryAndSemaphores(), ereport, errmsg, ExitPostmaster(), FatalError, fb(), ForgetUnstartedBackgroundWorkers(), HandleFatalError(), ImmediateShutdown, io_worker_count, LocalProcessControlFile(), LOG, BackendTypeMask::mask, maybe_start_io_workers(), NoShutdown, PM_HOT_STANDBY, PM_NO_CHILDREN, PM_RUN, PM_STARTUP, PM_STOP_BACKENDS, PM_WAIT_BACKENDS, PM_WAIT_CHECKPOINTER, PM_WAIT_DEAD_END, PM_WAIT_IO_WORKERS, PM_WAIT_XLOG_ARCHIVAL, PM_WAIT_XLOG_SHUTDOWN, PMQUIT_FOR_CRASH, pmState, remove_temp_files_after_crash, RemovePgTempFiles(), ResetBackgroundWorkerCrashTimes(), ResetShmemAllocator(), restart_after_crash, shmem_exit(), ShmemCallRequestCallbacks(), Shutdown, signal_child(), SignalChildren(), SIGQUIT, SIGUSR2, SlotSyncWorkerPMChild, StartChildProcess(), STARTUP_CRASHED, STARTUP_RUNNING, StartupPMChild, StartupStatus, UpdatePMState(), WalReceiverPMChild, WalSummarizerPMChild, and WalWriterPMChild.
Referenced by process_pm_child_exit(), process_pm_pmsignal(), and process_pm_shutdown_request().
Definition at line 2261 of file postmaster.c.
References _, AbortStartTime, AddToDataDirLockFile(), AutoVacLauncherPMChild, B_LOGGER, BgWriterPMChild, btmask_all_except, CheckpointerPMChild, CleanupBackend(), ConfigurePostmasterWaitSet(), connsAllowed, DEBUG4, ereport, errmsg, errmsg_internal(), EXIT_STATUS_0, EXIT_STATUS_1, EXIT_STATUS_3, FatalError, fb(), FindPostmasterChildByPid(), HandleChildCrash(), LOCK_FILE_LINE_PM_STATUS, LOG, LogChildExit(), Logging_collector, Max, maybe_reap_io_worker(), maybe_start_io_workers(), NoShutdown, pending_pm_child_exit, PgArchPMChild, PMChild::pid, PM_RUN, PM_STARTUP, PM_STATUS_READY, PM_WAIT_BACKENDS, PM_WAIT_CHECKPOINTER, PM_WAIT_DEAD_END, pmState, PostmasterStateMachine(), ReachedNormalRunning, ReleasePostmasterChildSlot(), Shutdown, SignalChildren(), SlotSyncWorkerPMChild, SmartShutdown, StartSysLogger(), STARTUP_CRASHED, STARTUP_NOT_RUNNING, STARTUP_SIGNALED, StartupPMChild, StartupStatus, StartWorkerNeeded, SysLoggerPMChild, TerminateChildren(), UpdatePMState(), WalReceiverPMChild, WalSummarizerPMChild, and WalWriterPMChild.
Referenced by ServerLoop().
Definition at line 3728 of file postmaster.c.
References AbortStartTime, AddToDataDirLockFile(), Assert, B_ARCHIVER, B_WAL_SENDER, BackgroundWorkerStateChange(), btmask(), CheckLogrotateSignal(), CheckPostmasterSignal(), CheckPromoteSignal(), connsAllowed, DEBUG2, EnableHotStandby, ereport, errmsg, errmsg_internal(), FatalError, fb(), HandleFatalError(), ImmediateShutdown, LOCK_FILE_LINE_PM_STATUS, LOG, NoShutdown, pending_pm_pmsignal, PgArchPMChild, PM_HOT_STANDBY, PM_RECOVERY, PM_STARTUP, PM_STATUS_READY, PM_STATUS_STANDBY, PM_STOP_BACKENDS, PM_WAIT_XLOG_ARCHIVAL, PM_WAIT_XLOG_SHUTDOWN, PMQUIT_FOR_CRASH, PMSIGNAL_ADVANCE_STATE_MACHINE, PMSIGNAL_BACKGROUND_WORKER_CHANGE, PMSIGNAL_BEGIN_HOT_STANDBY, PMSIGNAL_IO_WORKER_GROW, PMSIGNAL_RECOVERY_CONSISTENT, PMSIGNAL_RECOVERY_STARTED, PMSIGNAL_ROTATE_LOGFILE, PMSIGNAL_START_AUTOVAC_LAUNCHER, PMSIGNAL_START_AUTOVAC_WORKER, PMSIGNAL_START_WALRECEIVER, PMSIGNAL_XLOG_IS_SHUTDOWN, pmState, PostmasterStateMachine(), reachedConsistency, RemoveLogrotateSignalFiles(), Shutdown, signal_child(), SignalChildren(), SIGUSR1, SIGUSR2, SmartShutdown, start_autovac_launcher, StartAutovacuumWorker(), StartChildProcess(), StartupPMChild, StartWorkerNeeded, SysLoggerPMChild, UpdatePMState(), WalReceiverRequested, and XLogArchivingAlways.
Referenced by ServerLoop().
Definition at line 2023 of file postmaster.c.
References B_DEAD_END_BACKEND, btmask_all_except, DEBUG2, EnableSSL, ereport, errmsg, errmsg_internal(), fb(), HbaFileName, IdentFileName, load_hba(), load_ident(), LoadedSSL, LOG, pending_pm_reload_request, PGC_SIGHUP, ProcessConfigFile(), secure_destroy(), secure_initialize(), Shutdown, SIGHUP, SignalChildren(), and SmartShutdown.
Referenced by ServerLoop().
Definition at line 2100 of file postmaster.c.
References AbortStartTime, AddToDataDirLockFile(), connsAllowed, DEBUG2, ereport, errmsg, errmsg_internal(), FastShutdown, fb(), ImmediateShutdown, LOCK_FILE_LINE_PM_STATUS, LOG, mode, pending_pm_fast_shutdown_request, pending_pm_immediate_shutdown_request, pending_pm_shutdown_request, PM_HOT_STANDBY, PM_RECOVERY, PM_RUN, PM_STARTUP, PM_STATUS_STOPPING, PM_STOP_BACKENDS, PM_WAIT_BACKENDS, PMQUIT_FOR_STOP, pmState, PostmasterStateMachine(), SetQuitSignalReason(), Shutdown, SIGQUIT, SmartShutdown, TerminateChildren(), and UpdatePMState().
Referenced by ServerLoop().
|
static |
Definition at line 3666 of file postmaster.c.
References _, EINTR, fb(), pg_set_noblock(), send, snprintf, and strerror.
Referenced by BackendStartup().
Definition at line 1678 of file postmaster.c.
References AbortStartTime, AcceptConnection(), Assert, AutoVacLauncherPMChild, avlauncher_needs_signal, BackendStartup(), closesocket, ConfigurePostmasterWaitSet(), DetermineSleepTime(), elog, ereport, errmsg, FatalError, fb(), fd(), i, ImmediateShutdown, kill, LaunchMissingBackgroundProcesses(), lengthof, LOG, MAXLISTEN, MyLatch, MyProcPid, now(), pending_pm_child_exit, pending_pm_pmsignal, pending_pm_reload_request, pending_pm_shutdown_request, PGINVALID_SOCKET, pm_wait_set, process_pm_child_exit(), process_pm_pmsignal(), process_pm_reload_request(), process_pm_shutdown_request(), RecheckDataDirLockFile(), ResetLatch(), SECS_PER_MINUTE, send_abort_for_kill, Shutdown, SIGABRT, SIGKILL, SIGKILL_CHILDREN_AFTER_SECS, signal_child(), SIGQUIT, SIGUSR2, ClientSocket::sock, STATUS_OK, TerminateChildren(), TouchSocketFiles(), TouchSocketLockFiles(), WaitEventSetWait(), WL_LATCH_SET, and WL_SOCKET_ACCEPT.
Referenced by PostmasterMain().
Definition at line 3489 of file postmaster.c.
References DEBUG3, elog, ereport, errmsg_internal(), fb(), GetBackendTypeDesc(), kill, pm_signame(), SIGABRT, SIGKILL, and SIGQUIT.
Referenced by CleanupBackend(), PostmasterStateMachine(), process_pm_pmsignal(), ServerLoop(), and SignalChildren().
|
static |
Definition at line 3522 of file postmaster.c.
References ActiveChildList, B_BACKEND, B_WAL_SENDER, btmask_contains(), dlist_iter::cur, dlist_container, dlist_foreach, fb(), IsPostmasterChildWalSender(), and signal_child().
Referenced by PostmasterStateMachine(), process_pm_child_exit(), process_pm_pmsignal(), process_pm_reload_request(), and TerminateChildren().
Definition at line 4081 of file postmaster.c.
References AutoVacLauncherPMChild, AutoVacWorkerFailed(), avlauncher_needs_signal, B_AUTOVAC_WORKER, CAC_OK, canAcceptConnections(), fb(), and StartChildProcess().
Referenced by process_pm_pmsignal().
|
static |
Definition at line 4173 of file postmaster.c.
References Assert, AssignPostmasterChildSlot(), B_BG_WORKER, BackgroundWorker::bgw_name, DEBUG1, ereport, errcode(), errmsg, errmsg_internal(), fb(), GetCurrentTimestamp(), LOG, postmaster_child_launch(), ReleasePostmasterChildSlot(), ReportBackgroundWorkerPID(), RegisteredBgWorker::rw_crashed_at, RegisteredBgWorker::rw_pid, and RegisteredBgWorker::rw_worker.
Referenced by maybe_start_bgworkers().
|
static |
Definition at line 4010 of file postmaster.c.
References AssignPostmasterChildSlot(), B_AUTOVAC_WORKER, B_STARTUP, elog, ereport, errcode(), errmsg, ExitPostmaster(), fb(), LOG, postmaster_child_launch(), PostmasterChildName(), ReleasePostmasterChildSlot(), and type.
Referenced by LaunchMissingBackgroundProcesses(), maybe_start_io_workers(), PostmasterMain(), PostmasterStateMachine(), process_pm_pmsignal(), and StartAutovacuumWorker().
Definition at line 4056 of file postmaster.c.
References Assert, AssignPostmasterChildSlot(), B_LOGGER, PMChild::child_slot, elog, fb(), PANIC, PMChild::pid, ReleasePostmasterChildSlot(), SysLogger_Start(), and SysLoggerPMChild.
Referenced by LaunchMissingBackgroundProcesses(), PostmasterMain(), and process_pm_child_exit().
| StaticAssertDecl | ( | ) |
Definition at line 3557 of file postmaster.c.
References B_LOGGER, btmask_all_except, fb(), SIGABRT, SIGKILL, SignalChildren(), SIGQUIT, STARTUP_SIGNALED, StartupPMChild, and StartupStatus.
Referenced by HandleFatalError(), process_pm_child_exit(), process_pm_shutdown_request(), and ServerLoop().
Definition at line 1464 of file postmaster.c.
References external_pid_file, and fb().
Referenced by PostmasterMain().
Definition at line 3309 of file postmaster.c.
References DEBUG1, elog, fb(), pmState, and pmstate_name().
Referenced by HandleFatalError(), PostmasterMain(), PostmasterStateMachine(), process_pm_child_exit(), process_pm_pmsignal(), and process_pm_shutdown_request().
|
static |
Definition at line 367 of file postmaster.c.
Referenced by DetermineSleepTime(), HandleFatalError(), PostmasterStateMachine(), process_pm_child_exit(), process_pm_pmsignal(), process_pm_shutdown_request(), and ServerLoop().
| int AuthenticationTimeout = 60 |
Definition at line 242 of file postmaster.c.
Referenced by BackendInitialize(), and PerformAuthentication().
Definition at line 267 of file postmaster.c.
Referenced by CleanupBackend(), LaunchMissingBackgroundProcesses(), PostmasterStateMachine(), process_pm_child_exit(), ServerLoop(), and StartAutovacuumWorker().
Definition at line 383 of file postmaster.c.
Referenced by ServerLoop(), and StartAutovacuumWorker().
Definition at line 262 of file postmaster.c.
Referenced by LaunchMissingBackgroundProcesses(), PostmasterMain(), PostmasterStateMachine(), and process_pm_child_exit().
| char* bonjour_name |
Definition at line 247 of file postmaster.c.
Referenced by PostmasterMain().
|
static |
Definition at line 146 of file postmaster.c.
Referenced by btmask_all_except_n(), and PostmasterStateMachine().
|
static |
Definition at line 263 of file postmaster.c.
Referenced by LaunchMissingBackgroundProcesses(), PostmasterMain(), PostmasterStateMachine(), and process_pm_child_exit().
Definition at line 374 of file postmaster.c.
Referenced by BackendInitialize(), PerformAuthentication(), ProcessInterrupts(), quickdie(), should_output_to_client(), and StatementTimeoutHandler().
Definition at line 363 of file postmaster.c.
Referenced by canAcceptConnections(), PostmasterStateMachine(), process_pm_child_exit(), process_pm_pmsignal(), and process_pm_shutdown_request().
Definition at line 246 of file postmaster.c.
Referenced by PostmasterMain().
Definition at line 239 of file postmaster.c.
Referenced by BackendMain(), parse_hba_line(), PostmasterMain(), and process_pm_reload_request().
Definition at line 291 of file postmaster.c.
Referenced by canAcceptConnections(), HandleChildCrash(), HandleFatalError(), maybe_start_bgworkers(), maybe_start_io_workers_scheduled_at(), PostmasterStateMachine(), process_pm_child_exit(), process_pm_pmsignal(), and ServerLoop().
Definition at line 390 of file postmaster.c.
Referenced by CleanupBackend(), DetermineSleepTime(), LaunchMissingBackgroundProcesses(), and maybe_start_bgworkers().
|
static |
Definition at line 415 of file postmaster.c.
Referenced by maybe_reap_io_worker(), and maybe_start_io_workers().
|
static |
Definition at line 414 of file postmaster.c.
Referenced by maybe_reap_io_worker(), maybe_start_io_workers(), maybe_start_io_workers_scheduled_at(), and PostmasterStateMachine().
|
static |
Definition at line 413 of file postmaster.c.
Referenced by maybe_start_io_workers(), and maybe_start_io_workers_scheduled_at().
| char* ListenAddresses |
Definition at line 210 of file postmaster.c.
Referenced by PostmasterMain().
Definition at line 236 of file postmaster.c.
Referenced by ClosePostmasterPorts(), CloseServerPorts(), ConfigurePostmasterWaitSet(), ListenServerPort(), and PostmasterMain().
| bool log_hostname |
Definition at line 244 of file postmaster.c.
Referenced by BackendInitialize().
| BackgroundWorker* MyBgworkerEntry = NULL |
Definition at line 201 of file postmaster.c.
Referenced by BackgroundWorkerInitializeConnection(), BackgroundWorkerInitializeConnectionByOid(), BackgroundWorkerMain(), get_backend_type_for_log(), ParallelApplyWorkerMain(), ParallelWorkerMain(), ProcessInterrupts(), test_shm_mq_main(), and worker_spi_main().
|
static |
Definition at line 235 of file postmaster.c.
Referenced by ClosePostmasterPorts(), CloseServerPorts(), ConfigurePostmasterWaitSet(), ListenServerPort(), and PostmasterMain().
|
static |
Definition at line 394 of file postmaster.c.
Referenced by handle_pm_child_exit_signal(), process_pm_child_exit(), and ServerLoop().
|
static |
Definition at line 397 of file postmaster.c.
Referenced by handle_pm_shutdown_request_signal(), and process_pm_shutdown_request().
|
static |
Definition at line 398 of file postmaster.c.
Referenced by handle_pm_shutdown_request_signal(), and process_pm_shutdown_request().
|
static |
Definition at line 393 of file postmaster.c.
Referenced by handle_pm_pmsignal_signal(), process_pm_pmsignal(), and ServerLoop().
|
static |
Definition at line 395 of file postmaster.c.
Referenced by handle_pm_reload_request_signal(), process_pm_reload_request(), and ServerLoop().
|
static |
Definition at line 396 of file postmaster.c.
Referenced by handle_pm_shutdown_request_signal(), process_pm_shutdown_request(), and ServerLoop().
Definition at line 268 of file postmaster.c.
Referenced by LaunchMissingBackgroundProcesses(), process_pm_child_exit(), and process_pm_pmsignal().
|
static |
Definition at line 401 of file postmaster.c.
Referenced by ClosePostmasterPorts(), ConfigurePostmasterWaitSet(), and ServerLoop().
Definition at line 355 of file postmaster.c.
Referenced by bgworker_should_start_now(), canAcceptConnections(), HandleFatalError(), LaunchMissingBackgroundProcesses(), maybe_start_io_workers(), maybe_start_io_workers_scheduled_at(), PostmasterStateMachine(), process_pm_child_exit(), process_pm_pmsignal(), process_pm_shutdown_request(), and UpdatePMState().
| int postmaster_alive_fds[2] = {-1, -1} |
Definition at line 487 of file postmaster.c.
Referenced by AddWaitEventToSet(), ClosePostmasterPorts(), InitPostmasterChild(), InitPostmasterDeathWatchHandle(), and PostmasterIsAliveInternal().
| int PostPortNumber = DEF_PGPORT |
Definition at line 204 of file postmaster.c.
Referenced by CreateLockFile(), and PostmasterMain().
| int PreAuthDelay = 0 |
Definition at line 241 of file postmaster.c.
Referenced by BackendInitialize().
Definition at line 372 of file postmaster.c.
Referenced by process_pm_child_exit().
Definition at line 377 of file postmaster.c.
Referenced by send_message_to_server_log(), SysLogger_Start(), SysLoggerMain(), and write_console().
Definition at line 249 of file postmaster.c.
Referenced by PostmasterStateMachine().
| int ReservedConnections |
Definition at line 231 of file postmaster.c.
Referenced by InitPostgres(), and PostmasterMain().
Definition at line 248 of file postmaster.c.
Referenced by PostmasterStateMachine().
Definition at line 257 of file postmaster.c.
Referenced by HandleFatalError().
Definition at line 258 of file postmaster.c.
Referenced by ServerLoop().
|
static |
Definition at line 289 of file postmaster.c.
Referenced by canAcceptConnections(), DetermineSleepTime(), HandleChildCrash(), HandleFatalError(), LaunchMissingBackgroundProcesses(), maybe_start_io_workers_scheduled_at(), PostmasterStateMachine(), process_pm_child_exit(), process_pm_pmsignal(), process_pm_reload_request(), process_pm_shutdown_request(), and ServerLoop().
Definition at line 270 of file postmaster.c.
Referenced by LaunchMissingBackgroundProcesses(), PostmasterStateMachine(), and process_pm_child_exit().
Definition at line 380 of file postmaster.c.
Referenced by LaunchMissingBackgroundProcesses(), and process_pm_pmsignal().
Definition at line 261 of file postmaster.c.
Referenced by PostmasterMain(), PostmasterStateMachine(), process_pm_child_exit(), process_pm_pmsignal(), and TerminateChildren().
|
static |
Definition at line 281 of file postmaster.c.
Referenced by PostmasterMain(), PostmasterStateMachine(), process_pm_child_exit(), and TerminateChildren().
Definition at line 389 of file postmaster.c.
Referenced by DetermineSleepTime(), LaunchMissingBackgroundProcesses(), maybe_start_bgworkers(), process_pm_child_exit(), and process_pm_pmsignal().
| int SuperuserReservedConnections |
Definition at line 230 of file postmaster.c.
Referenced by InitPostgres(), and PostmasterMain().
Definition at line 269 of file postmaster.c.
Referenced by LaunchMissingBackgroundProcesses(), process_pm_child_exit(), process_pm_pmsignal(), and StartSysLogger().
| char* Unix_socket_directories |
Definition at line 207 of file postmaster.c.
Referenced by PostmasterMain().
Definition at line 265 of file postmaster.c.
Referenced by LaunchMissingBackgroundProcesses(), PostmasterStateMachine(), and process_pm_child_exit().
Definition at line 386 of file postmaster.c.
Referenced by LaunchMissingBackgroundProcesses(), and process_pm_pmsignal().
Definition at line 266 of file postmaster.c.
Referenced by LaunchMissingBackgroundProcesses(), PostmasterStateMachine(), and process_pm_child_exit().
Definition at line 264 of file postmaster.c.
Referenced by LaunchMissingBackgroundProcesses(), PostmasterStateMachine(), and process_pm_child_exit().