|
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 477 of file postmaster.c.
| #define EXIT_STATUS_1 | ( | st | ) | (WIFEXITED(st) && WEXITSTATUS(st) == 1) |
Definition at line 478 of file postmaster.c.
| #define EXIT_STATUS_3 | ( | st | ) | (WIFEXITED(st) && WEXITSTATUS(st) == 3) |
Definition at line 479 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 369 of file postmaster.c.
| #define SmartShutdown 1 |
Definition at line 285 of file postmaster.c.
Definition at line 335 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 3594 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 4252 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 1836 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 1529 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 2603 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 1880 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 1429 of file postmaster.c.
References closesocket, elog, i, ListenSockets, LOG, NumListenSockets, and RemoveSocketFiles().
Referenced by PostmasterMain().
Definition at line 1654 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 3984 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 4149 of file postmaster.c.
References ereport, errcode_for_file_access(), errmsg, fb(), fprintf, i, LOG, and OPTS_FILE.
Referenced by PostmasterMain().
Definition at line 1558 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 3711 of file postmaster.c.
References ereport, errcode(), errhint(), errmsg, fb(), LOG, and proc_exit().
Referenced by checkControlFile(), PostmasterMain(), PostmasterStateMachine(), process_pm_child_exit(), and StartChildProcess().
Definition at line 1475 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 2250 of file postmaster.c.
References MyLatch, pending_pm_child_exit, and SetLatch().
Referenced by PostmasterMain().
|
static |
Definition at line 2002 of file postmaster.c.
References MyLatch, pending_pm_pmsignal, and SetLatch().
Referenced by PostmasterMain().
|
static |
Definition at line 2012 of file postmaster.c.
References MyLatch, pending_pm_reload_request, and SetLatch().
Referenced by PostmasterMain().
|
static |
Definition at line 2075 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 2836 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 2747 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 4713 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 1957 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 3343 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 2863 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 4412 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 4298 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 4491 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 4438 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 3466 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 3297 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 496 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_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 4578 of file postmaster.c.
References ActiveChildList, dlist_iter::cur, dlist_container, dlist_foreach, and fb().
Referenced by BackgroundWorkerStateChange().
Definition at line 2929 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 2260 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, ExitPostmaster(), 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 3746 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 2022 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 2099 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 3684 of file postmaster.c.
References _, EINTR, fb(), pg_set_noblock(), send, snprintf, and strerror.
Referenced by BackendStartup().
Definition at line 1677 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 3507 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 3540 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 4099 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 4191 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 4028 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 4074 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 3575 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 1463 of file postmaster.c.
References external_pid_file, and fb().
Referenced by PostmasterMain().
Definition at line 3327 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 366 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 382 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 373 of file postmaster.c.
Referenced by BackendInitialize(), PerformAuthentication(), ProcessInterrupts(), quickdie(), should_output_to_client(), and StatementTimeoutHandler().
Definition at line 362 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 389 of file postmaster.c.
Referenced by CleanupBackend(), DetermineSleepTime(), LaunchMissingBackgroundProcesses(), and maybe_start_bgworkers().
|
static |
Definition at line 414 of file postmaster.c.
Referenced by maybe_reap_io_worker(), and maybe_start_io_workers().
|
static |
Definition at line 413 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 412 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 393 of file postmaster.c.
Referenced by handle_pm_child_exit_signal(), process_pm_child_exit(), and ServerLoop().
|
static |
Definition at line 396 of file postmaster.c.
Referenced by handle_pm_shutdown_request_signal(), and process_pm_shutdown_request().
|
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 392 of file postmaster.c.
Referenced by handle_pm_pmsignal_signal(), process_pm_pmsignal(), and ServerLoop().
|
static |
Definition at line 394 of file postmaster.c.
Referenced by handle_pm_reload_request_signal(), process_pm_reload_request(), and ServerLoop().
|
static |
Definition at line 395 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 400 of file postmaster.c.
Referenced by ClosePostmasterPorts(), ConfigurePostmasterWaitSet(), and ServerLoop().
Definition at line 354 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 486 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 371 of file postmaster.c.
Referenced by process_pm_child_exit().
Definition at line 376 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 379 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 388 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 385 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().