|
PostgreSQL Source Code git master
|
#include "postgres.h"#include <signal.h>#include <unistd.h>#include <sys/time.h>#include "access/clog.h"#include "access/transam.h"#include "access/twophase.h"#include "access/xlogutils.h"#include "access/xlogwait.h"#include "miscadmin.h"#include "pgstat.h"#include "postmaster/autovacuum.h"#include "replication/slotsync.h"#include "replication/syncrep.h"#include "storage/condition_variable.h"#include "storage/ipc.h"#include "storage/lmgr.h"#include "storage/pmsignal.h"#include "storage/proc.h"#include "storage/procarray.h"#include "storage/procsignal.h"#include "storage/spin.h"#include "storage/standby.h"#include "storage/subsystems.h"#include "utils/injection_point.h"#include "utils/timeout.h"#include "utils/timestamp.h"#include "utils/wait_event.h"
Go to the source code of this file.
Definition at line 1160 of file proc.c.
References AuxiliaryProcs, fb(), NUM_AUXILIARY_PROCS, PGPROC::pid, and result.
Referenced by pg_log_backend_memory_contexts(), pg_stat_get_activity(), pg_stat_get_backend_wait_event(), pg_stat_get_backend_wait_event_type(), pg_stat_reset_backend_stats(), and pgstat_fetch_stat_backend_by_pid().
Definition at line 1095 of file proc.c.
References arg, Assert, AuxiliaryProcs, B_CHECKPOINTER, B_WAL_WRITER, PROC_HDR::checkpointerProc, ConditionVariableCancelSleep(), DatumGetInt32(), DisownLatch(), elog, fb(), PROC_HDR::freeProcsLock, INVALID_PROC_NUMBER, InvalidTransactionId, LWLockReleaseAll(), PGPROC::lxid, MyBackendType, MyProc, MyProcNumber, NUM_AUXILIARY_PROCS, PANIC, pg_atomic_read_u32(), pg_atomic_write_u32(), PG_USED_FOR_ASSERTS_ONLY, pgstat_reset_wait_event_storage(), PGPROC::pid, ProcGlobal, PGPROC::procLatch, PGPROC::procNumber, SpinLockAcquire(), SpinLockRelease(), PROC_HDR::spins_per_delay, SwitchBackToLocalLatch(), update_spins_per_delay(), PGPROC::vxid, and PROC_HDR::walwriterProc.
Referenced by InitAuxiliaryProcess().
Definition at line 2106 of file proc.c.
References Assert, dlist_push_head(), fb(), PGPROC::lockGroupLeader, PGPROC::lockGroupLink, PGPROC::lockGroupMembers, LockHashPartitionLockByProc, LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), and MyProc.
Referenced by LaunchParallelWorkers(), and rebuild_relation().
Definition at line 2136 of file proc.c.
References Assert, dlist_push_tail(), fb(), PGPROC::lockGroupLeader, PGPROC::lockGroupLink, PGPROC::lockGroupMembers, LockHashPartitionLockByProc, LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), MyProc, and PGPROC::pid.
Referenced by ParallelWorkerMain(), and RepackWorkerMain().
Definition at line 105 of file proc.c.
References add_size(), Assert, FastPathLockGroupsPerBackend, FastPathLockSlotsPerBackend, fb(), MAXALIGN, mul_size(), and TotalProcs.
Referenced by ProcGlobalShmemRequest().
|
static |
Definition at line 1887 of file proc.c.
References Assert, DeadLockCheck(), dlist_node_is_detached(), DS_HARD_DEADLOCK, DS_NO_DEADLOCK, fb(), i, LockHashPartitionLockByIndex, LockTagHashCode(), LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), MyProc, NUM_LOCK_PARTITIONS, RemoveFromWaitQueue(), result, LOCK::tag, PGPROC::waitLink, and PGPROC::waitLock.
Referenced by ProcSleep().
Definition at line 1978 of file proc.c.
References fb(), got_deadlock_timeout, MyLatch, and SetLatch().
Referenced by InitPostgres(), and ProcessRecoveryConflictInterrupt().
| void GetLockHoldersAndWaiters | ( | LOCALLOCK * | locallock, |
| StringInfo | lock_holders_sbuf, | ||
| StringInfo | lock_waiters_sbuf, | ||
| int * | lockHoldersNum | ||
| ) |
Definition at line 2005 of file proc.c.
References appendStringInfo(), Assert, dlist_container, dlist_foreach, fb(), LockHashPartitionLock, LWLockHeldByMe(), and LOCK::procLocks.
Referenced by LockAcquireExtended(), and ProcSleep().
Definition at line 781 of file proc.c.
References fb(), ProcGlobal, and PROC_HDR::startupBufferPinWaitBufId.
Referenced by HoldingBufferPinThatDelaysRecovery().
Definition at line 797 of file proc.c.
References Assert, dlist_foreach, PROC_HDR::freeProcs, PROC_HDR::freeProcsLock, ProcGlobal, SpinLockAcquire(), and SpinLockRelease().
Referenced by InitPostgres().
Definition at line 623 of file proc.c.
References Assert, AuxiliaryProcKill(), AuxiliaryProcs, B_CHECKPOINTER, B_WAL_WRITER, PGPROC::backendType, PROC_HDR::checkpointerProc, PGPROC::databaseId, PGPROC::delayChkptFlags, dlist_is_empty(), dlist_node_init(), elog, ERROR, FATAL, fb(), PGPROC::fpLocalTransactionId, PGPROC::fpVXIDLock, PGPROC::freeProcsLink, PROC_HDR::freeProcsLock, GetNumberFromPGProc, i, InitLWLockAccess(), Int32GetDatum(), INVALID_PROC_NUMBER, InvalidLocalTransactionId, InvalidOid, InvalidTransactionId, IsUnderPostmaster, PGPROC::lockGroupLeader, PGPROC::lockGroupMembers, LW_WS_NOT_WAITING, PGPROC::lwWaiting, PGPROC::lwWaitMode, PGPROC::lxid, MyBackendType, MyProc, PGPROC::myProcLocks, MyProcNumber, MyProcPid, NUM_AUXILIARY_PROCS, NUM_LOCK_PARTITIONS, on_shmem_exit(), OwnLatch(), PANIC, PGPROC::pendingRecoveryConflicts, pg_atomic_write_u32(), pg_atomic_write_u64(), PGSemaphoreReset(), pgstat_set_wait_event_storage(), PROC_WAIT_STATUS_OK, ProcGlobal, PGPROC::procLatch, PGPROC::procNumber, RegisterPostmasterChildActive(), PGPROC::roleId, PGPROC::sem, set_spins_per_delay(), SpinLockAcquire(), SpinLockRelease(), PROC_HDR::spins_per_delay, PGPROC::statusFlags, SwitchToSharedLatch(), PGPROC::tempNamespaceId, PGPROC::vxid, PGPROC::wait_event_info, PGPROC::waitLink, PGPROC::waitLock, PGPROC::waitProcLock, PGPROC::waitStart, PGPROC::waitStatus, PROC_HDR::walwriterProc, PGPROC::xid, and PGPROC::xmin.
Referenced by AuxiliaryProcessMainCommon().
Definition at line 393 of file proc.c.
References AmAutoVacuumWorkerProcess, AmBackgroundWorkerProcess, AmSpecialWorkerProcess, AmWalSenderProcess, Assert, PROC_HDR::autovacFreeProcs, PROC_HDR::avLauncherProc, B_AUTOVAC_LAUNCHER, PGPROC::backendType, PROC_HDR::bgworkerFreeProcs, PGPROC::clogGroupMember, PGPROC::clogGroupMemberLsn, PGPROC::clogGroupMemberPage, PGPROC::clogGroupMemberXid, PGPROC::clogGroupMemberXidStatus, PGPROC::clogGroupNext, PGPROC::databaseId, PGPROC::delayChkptFlags, dlist_container, dlist_is_empty(), dlist_node_init(), dlist_pop_head_node(), elog, ereport, errcode(), errmsg, ERROR, FATAL, fb(), PGPROC::fpLocalTransactionId, PGPROC::fpVXIDLock, PROC_HDR::freeProcs, PGPROC::freeProcsLink, PROC_HDR::freeProcsLock, GetNumberFromPGProc, i, InitDeadLockChecking(), InitLWLockAccess(), INVALID_PROC_NUMBER, InvalidLocalTransactionId, InvalidOid, InvalidTransactionId, InvalidXLogRecPtr, IsUnderPostmaster, PGPROC::lockGroupLeader, PGPROC::lockGroupMembers, LW_WS_NOT_WAITING, PGPROC::lwWaiting, PGPROC::lwWaitMode, PGPROC::lxid, max_wal_senders, MyBackendType, MyProc, PGPROC::myProcLocks, MyProcNumber, MyProcPid, NUM_LOCK_PARTITIONS, on_shmem_exit(), OwnLatch(), PANIC, PGPROC::pendingRecoveryConflicts, pg_atomic_read_u32(), pg_atomic_write_u32(), pg_atomic_write_u64(), PGSemaphoreReset(), pgstat_set_wait_event_storage(), PGPROC::pid, PROC_IS_AUTOVACUUM, PROC_WAIT_STATUS_OK, PGPROC::procArrayGroupMember, PGPROC::procArrayGroupMemberXid, PGPROC::procArrayGroupNext, ProcGlobal, PGPROC::procgloballist, ProcKill(), PGPROC::procLatch, PGPROC::procNumber, RegisterPostmasterChildActive(), PGPROC::roleId, PGPROC::sem, set_spins_per_delay(), SpinLockAcquire(), SpinLockRelease(), PROC_HDR::spins_per_delay, PGPROC::statusFlags, SwitchToSharedLatch(), SYNC_REP_NOT_WAITING, PGPROC::syncRepLinks, PGPROC::syncRepState, PGPROC::tempNamespaceId, TRANSACTION_STATUS_IN_PROGRESS, PGPROC::vxid, PGPROC::wait_event_info, PGPROC::waitLink, PGPROC::waitLock, PGPROC::waitLSN, PGPROC::waitProcLock, PGPROC::waitStart, PGPROC::waitStatus, PROC_HDR::walsenderFreeProcs, PGPROC::xid, and PGPROC::xmin.
Referenced by AutoVacLauncherMain(), AutoVacWorkerMain(), BackendMain(), BackgroundWorkerMain(), BootstrapModeMain(), PostgresSingleUserMain(), and ReplSlotSyncWorkerMain().
Definition at line 588 of file proc.c.
References Assert, fb(), MyProc, on_shmem_exit(), ProcArrayAdd(), and RemoveProcFromArray().
Referenced by InitPostgres().
| ProcWaitStatus JoinWaitQueue | ( | LOCALLOCK * | locallock, |
| LockMethod | lockMethodTable, | ||
| bool | dontWait | ||
| ) |
Definition at line 1209 of file proc.c.
References Assert, dlist_iter::cur, dclist_foreach, dclist_insert_before(), dclist_is_empty(), dclist_push_tail(), dlist_container, dlist_foreach, fb(), GrantLock(), PGPROC::heldLocks, PROCLOCK::holdMask, LOCKBIT_ON, LockCheckConflicts(), PGPROC::lockGroupLeader, LockHashPartitionLock, LW_EXCLUSIVE, LWLockHeldByMeInMode(), MyProc, PG_USED_FOR_ASSERTS_ONLY, PROC_WAIT_STATUS_ERROR, PROC_WAIT_STATUS_OK, PROC_WAIT_STATUS_WAITING, LOCK::procLocks, RememberSimpleDeadLock(), PGPROC::waitLink, PGPROC::waitLock, PGPROC::waitLockMode, LOCK::waitMask, PGPROC::waitProcLock, LOCK::waitProcs, and PGPROC::waitStatus.
Referenced by LockAcquireExtended().
Definition at line 828 of file proc.c.
References AbortStrongLockAcquire(), DEADLOCK_TIMEOUT, disable_timeouts(), dlist_node_is_detached(), fb(), GetAwaitedLock(), GrantAwaitedLock(), HOLD_INTERRUPTS, LOCK_TIMEOUT, LockHashPartitionLock, LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), MyProc, PROC_WAIT_STATUS_OK, RemoveFromWaitQueue(), ResetAwaitedLock(), RESUME_INTERRUPTS, PGPROC::waitLink, and PGPROC::waitStatus.
Referenced by AbortSubTransaction(), AbortTransaction(), ProcessInterrupts(), ProcReleaseLocks(), and report_recovery_conflict().
Definition at line 130 of file proc.c.
References MaxBackends, and NUM_AUXILIARY_PROCS.
Referenced by InitializeShmemGUCs(), ProcGlobalShmemInit(), and ProcGlobalShmemRequest().
Definition at line 221 of file proc.c.
References PROC_HDR::allProcCount, PROC_HDR::allProcs, AllProcsShmemPtr, Assert, PROC_HDR::autovacFreeProcs, autovacuum_worker_slots, AuxiliaryProcs, PROC_HDR::avLauncherProc, PROC_HDR::bgworkerFreeProcs, PROC_HDR::checkpointerProc, PROC_HDR::clogGroupFirst, PGPROC::clogGroupNext, DEFAULT_SPINS_PER_DELAY, dlist_init(), dlist_push_tail(), FastPathLockArrayShmemPtr, FastPathLockArrayShmemSize, FastPathLockGroupsPerBackend, FastPathLockSlotsPerBackend, fb(), FIRST_PREPARED_XACT_PROC_NUMBER, PGPROC::fpInfoLock, PGPROC::fpLockBits, PGPROC::fpRelId, PROC_HDR::freeProcs, PGPROC::freeProcsLink, PROC_HDR::freeProcsLock, i, InitSharedLatch(), INVALID_PROC_NUMBER, j, PGPROC::lockGroupMembers, LWLockInitialize(), max_worker_processes, MAXALIGN, MaxBackends, MaxConnections, MemSet, PGPROC::myProcLocks, NUM_AUXILIARY_PROCS, NUM_LOCK_PARTITIONS, NUM_SPECIAL_WORKER_PROCS, pg_atomic_init_u32(), pg_atomic_init_u64(), PG_USED_FOR_ASSERTS_ONLY, PGSemaphoreCreate(), PGSemaphoreInit(), PreparedXactProcs, PROC_HDR::procArrayGroupFirst, PGPROC::procArrayGroupNext, ProcGlobal, ProcGlobalAllProcsShmemSize, PGPROC::procgloballist, ProcGlobalSemas(), PGPROC::procLatch, PGPROC::sem, SpinLockInit(), PROC_HDR::spins_per_delay, PROC_HDR::startupBufferPinWaitBufId, PROC_HDR::statusFlags, PROC_HDR::subxidStates, TotalProcs, PGPROC::waitStart, PROC_HDR::walsenderFreeProcs, PROC_HDR::walwriterProc, and PROC_HDR::xids.
Definition at line 147 of file proc.c.
References add_size(), AllProcsShmemPtr, CalculateFastPathLockShmemSize(), FastPathLockArrayShmemPtr, FastPathLockArrayShmemSize, IsUnderPostmaster, max_prepared_xacts, MaxBackends, mul_size(), name, NUM_AUXILIARY_PROCS, PGSemaphoreShmemRequest(), ProcGlobal, ProcGlobalAllProcsShmemSize, ProcGlobalSemas(), SHMEM_ATTACH_UNKNOWN_SIZE, ShmemRequestStruct, PROC_HDR::statusFlags, PROC_HDR::subxidStates, TotalProcs, and PROC_HDR::xids.
Definition at line 934 of file proc.c.
References Assert, PROC_HDR::avLauncherProc, B_AUTOVAC_LAUNCHER, ConditionVariableCancelSleep(), DisownLatch(), dlist_delete(), dlist_is_empty(), dlist_push_head(), dlist_push_tail(), elog, fb(), PGPROC::freeProcsLink, PROC_HDR::freeProcsLock, i, INVALID_PROC_NUMBER, InvalidTransactionId, PGPROC::lockGroupLeader, PGPROC::lockGroupLink, PGPROC::lockGroupMembers, LockHashPartitionLockByProc, LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), LWLockReleaseAll(), PGPROC::lxid, MyBackendType, MyProc, PGPROC::myProcLocks, MyProcNumber, NUM_LOCK_PARTITIONS, PANIC, pg_atomic_read_u32(), pg_atomic_write_u32(), pgstat_reset_wait_event_storage(), PGPROC::pid, ProcGlobal, PGPROC::procgloballist, PGPROC::procLatch, PGPROC::procNumber, SpinLockAcquire(), SpinLockRelease(), PROC_HDR::spins_per_delay, SwitchBackToLocalLatch(), SyncRepCleanupAtProcExit(), update_spins_per_delay(), PGPROC::vxid, and WaitLSNCleanup().
Referenced by InitProcess().
| void ProcLockWakeup | ( | LockMethod | lockMethodTable, |
| LOCK * | lock | ||
| ) |
Definition at line 1840 of file proc.c.
References dclist_foreach_modify, dclist_is_empty(), dlist_container, fb(), GrantLock(), LOCKBIT_ON, LockCheckConflicts(), PROC_WAIT_STATUS_OK, ProcWakeup(), PGPROC::waitLockMode, PGPROC::waitProcLock, and LOCK::waitProcs.
Referenced by CleanUpLock(), and DeadLockCheck().
Definition at line 906 of file proc.c.
References DEFAULT_LOCKMETHOD, fb(), LockErrorCleanup(), LockReleaseAll(), MyProc, and USER_LOCKMETHOD.
Referenced by ResourceOwnerReleaseInternal().
| void ProcSendSignal | ( | ProcNumber | procNumber | ) |
Definition at line 2091 of file proc.c.
References PROC_HDR::allProcCount, elog, ERROR, fb(), GetPGProcByNumber, ProcGlobal, and SetLatch().
Referenced by ReleasePredicateLocks(), and WakePinCountWaiter().
| ProcWaitStatus ProcSleep | ( | LOCALLOCK * | locallock | ) |
Definition at line 1378 of file proc.c.
References AccessExclusiveLock, appendStringInfo(), Assert, buf, CHECK_FOR_INTERRUPTS, CheckDeadLock(), CheckRecoveryConflictDeadlock(), DEADLOCK_TIMEOUT, DeadlockTimeout, DEBUG1, DescribeLockTag(), disable_timeout(), disable_timeouts(), DS_BLOCKED_BY_AUTOVACUUM, DS_HARD_DEADLOCK, DS_NO_DEADLOCK, DS_NOT_YET_CHECKED, DS_SOFT_DEADLOCK, enable_timeout_after(), enable_timeouts(), ereport, errdetail_log(), errdetail_log_plural(), errmsg, errmsg_internal(), fb(), get_timeout_start_time(), GetAwaitedLock(), GetBlockingAutoVacuumPgproc(), GetCurrentTimestamp(), GetLockConflicts(), GetLockHoldersAndWaiters(), GetLockmodeName(), got_deadlock_timeout, EnableTimeoutParams::id, DisableTimeoutParams::id, InHotStandby, initStringInfo(), INJECTION_POINT, InRecovery, kill, LOCK_TIMEOUT, LockHashPartitionLock, LOCKTAG::locktag_lockmethodid, LockTimeout, LOG, log_lock_waits, log_recovery_conflict_waits, LogRecoveryConflict(), LW_EXCLUSIVE, LW_SHARED, LWLockAcquire(), LWLockHeldByMe(), LWLockRelease(), message_level_is_interesting(), MyLatch, MyProc, MyProcPid, now(), pfree(), pg_atomic_write_u64(), PG_WAIT_LOCK, pgstat_count_lock_waits(), PROC_IS_AUTOVACUUM, PROC_VACUUM_FOR_WRAPAROUND, PROC_WAIT_STATUS_ERROR, PROC_WAIT_STATUS_OK, PROC_WAIT_STATUS_WAITING, ProcGlobal, RECOVERY_CONFLICT_LOCK, RecoveryInProgress(), ResetLatch(), ResolveRecoveryConflictWithLock(), PROC_HDR::statusFlags, LOCK::tag, TimestampDifference(), TimestampDifferenceExceeds(), TMPARAM_AFTER, WaitLatch(), PGPROC::waitStart, PGPROC::waitStatus, WARNING, WL_EXIT_ON_PM_DEATH, and WL_LATCH_SET.
Referenced by WaitOnLock().
Definition at line 2079 of file proc.c.
References CHECK_FOR_INTERRUPTS, fb(), MyLatch, ResetLatch(), WaitLatch(), WL_EXIT_ON_PM_DEATH, and WL_LATCH_SET.
Referenced by GetSafeSnapshot(), LockBufferForCleanup(), ResolveRecoveryConflictWithBufferPin(), and ResolveRecoveryConflictWithLock().
| void ProcWakeup | ( | PGPROC * | proc, |
| ProcWaitStatus | waitStatus | ||
| ) |
Definition at line 1812 of file proc.c.
References Assert, dclist_delete_from_thoroughly(), dlist_node_is_detached(), fb(), pg_atomic_write_u64(), PROC_WAIT_STATUS_WAITING, PGPROC::procLatch, SetLatch(), PGPROC::waitLink, PGPROC::waitLock, PGPROC::waitProcLock, LOCK::waitProcs, PGPROC::waitStart, and PGPROC::waitStatus.
Referenced by ProcLockWakeup().
Definition at line 923 of file proc.c.
References Assert, fb(), InvalidTransactionId, MyProc, and ProcArrayRemove().
Referenced by InitProcessPhase2().
Definition at line 769 of file proc.c.
References fb(), ProcGlobal, and PROC_HDR::startupBufferPinWaitBufId.
Referenced by LockBufferForCleanup().
|
static |
Definition at line 75 of file proc.c.
Referenced by ProcGlobalShmemInit(), and ProcGlobalShmemRequest().
| NON_EXEC_STATIC PGPROC* AuxiliaryProcs = NULL |
Definition at line 77 of file proc.c.
Referenced by AuxiliaryPidGetProc(), AuxiliaryProcKill(), InitAuxiliaryProcess(), and ProcGlobalShmemInit().
| int DeadlockTimeout = 1000 |
Definition at line 62 of file proc.c.
Referenced by LockBufferForCleanup(), ProcSleep(), ResolveRecoveryConflictWithBufferPin(), ResolveRecoveryConflictWithLock(), and ResolveRecoveryConflictWithVirtualXIDs().
|
static |
Definition at line 76 of file proc.c.
Referenced by ProcGlobalShmemInit(), and ProcGlobalShmemRequest().
|
static |
Definition at line 90 of file proc.c.
Referenced by ProcGlobalShmemInit(), and ProcGlobalShmemRequest().
|
static |
Definition at line 93 of file proc.c.
Referenced by CheckDeadLockAlert(), and ProcSleep().
| int IdleInTransactionSessionTimeout = 0 |
Definition at line 65 of file proc.c.
Referenced by PostgresMain(), and ProcessInterrupts().
| int IdleSessionTimeout = 0 |
Definition at line 67 of file proc.c.
Referenced by PostgresMain(), and ProcessInterrupts().
| int LockTimeout = 0 |
Definition at line 64 of file proc.c.
Referenced by ProcSleep().
Definition at line 68 of file proc.c.
Referenced by ProcSleep().
Definition at line 71 of file proc.c.
Referenced by _brin_parallel_build_main(), _bt_parallel_build_main(), _gin_parallel_build_main(), AbortTransaction(), AtEOSubXact_Namespace(), AtEOXact_Namespace(), AtEOXact_Snapshot(), attach_to_queues(), AutoVacWorkerMain(), AuxiliaryProcKill(), BaseInit(), BecomeLockGroupLeader(), BecomeLockGroupMember(), BufferLockAcquire(), BufferLockDequeueSelf(), BufferLockQueueSelf(), CheckDeadLock(), CommitTransaction(), ComputeXidHorizons(), ConditionVariableBroadcast(), consume_xids_common(), CountOtherDBBackends(), CreateReplicationSlot(), DefineIndex(), EndPrepare(), exec_eval_simple_expr(), exec_simple_check_plan(), exec_stmt_call(), ExecParallelGetReceiver(), ExecParallelSetupTupleQueues(), ExecWaitStmt(), ExportSnapshot(), FastPathGetRelationLockEntry(), FastPathGrantRelationLock(), FastPathUnGrantRelationLock(), FindLockCycleRecurseMember(), get_cast_hashentry(), GetCurrentVirtualXIDs(), GetLockConflicts(), GetNewTransactionId(), GetSerializableTransactionSnapshotInt(), GetSnapshotData(), GetSnapshotDataReuse(), GetStableLatestTransactionId(), HandleRecoveryConflictInterrupt(), InitAuxiliaryProcess(), InitBufferManagerAccess(), InitializeParallelDSM(), InitPostgres(), InitProcess(), InitProcessPhase2(), InitRecoveryTransactionEnvironment(), InitTempTableNamespace(), InitWalSender(), JoinWaitQueue(), lock_and_open_sequence(), LockAcquireExtended(), LockBufferInternal(), LockCheckConflicts(), LockErrorCleanup(), LockRelease(), LockReleaseAll(), log_status_format(), logicalrep_worker_attach(), LWLockAcquire(), LWLockAcquireOrWait(), LWLockAttemptLock(), LWLockDequeueSelf(), LWLockQueueSelf(), LWLockWaitForVar(), MarkAsPreparingGuts(), MinimumActiveBackends(), pa_setup_dsm(), parallel_vacuum_main(), ParallelApplyWorkerMain(), ParallelWorkerMain(), pg_truncate_visibility_map(), pgaio_init_backend(), pgstat_report_activity(), PhysicalReplicationSlotNewXmin(), PostPrepare_Locks(), PrepareTransaction(), ProcArrayGroupClearXid(), ProcArrayInstallImportedXmin(), ProcArrayInstallRestoredXmin(), ProcessInterrupts(), ProcessRecoveryConflictInterrupts(), ProcessStandbyHSFeedbackMessage(), ProcKill(), ProcReleaseLocks(), ProcSleep(), RecordTransactionCommit(), RecordTransactionCommitPrepared(), ReinitializeParallelDSM(), RelationTruncate(), RemoveProcFromArray(), RepackWorkerMain(), ReplicationSlotRelease(), report_recovery_conflict(), ResolveRecoveryConflictWithLock(), set_indexsafe_procflags(), SetAuthenticatedUserId(), SetDataChecksumsOff(), SetDataChecksumsOn(), SetDataChecksumsOnInProgress(), setup_dynamic_shared_memory(), shm_mq_attach(), shm_mq_detach_internal(), shm_mq_receive(), shm_mq_sendv(), shm_mq_wait_for_attach(), smgr_bulk_finish(), SnapBuildInitialSnapshot(), SnapshotResetXmin(), start_repack_decoding_worker(), StartTransaction(), StartupDecodingContext(), SwitchBackToLocalLatch(), SwitchToSharedLatch(), SyncRepCancelWait(), SyncRepCleanupAtProcExit(), SyncRepQueueInsert(), SyncRepWaitForLSN(), TerminateOtherDBBackends(), TransactionGroupUpdateXidStatus(), TransactionIdIsInProgress(), TransactionIdSetPageStatus(), TruncateMultiXact(), vacuum_rel(), VirtualXactLockTableCleanup(), VirtualXactLockTableInsert(), WaitXLogInsertionsToFinish(), write_csvlog(), write_jsonlog(), and XidCacheRemoveRunningXids().
Definition at line 78 of file proc.c.
Referenced by ProcGlobalShmemInit(), and TwoPhaseShmemInit().
Definition at line 74 of file proc.c.
Referenced by AutoVacWorkerMain(), AuxiliaryProcKill(), BackendXidGetPid(), ComputeXidHorizons(), CountOtherDBBackends(), FastPathTransferRelationLocks(), ForwardSyncRequest(), GetCurrentVirtualXIDs(), GetLockConflicts(), GetLockStatusData(), GetNewTransactionId(), GetOldestActiveTransactionId(), GetOldestSafeDecodingTransactionId(), GetRunningTransactionData(), GetSnapshotData(), GetStartupBufferPinWaitBufId(), HaveNFreeProcs(), InitAuxiliaryProcess(), InitProcess(), InitWalSender(), ProcArrayAdd(), ProcArrayClearTransaction(), ProcArrayEndTransaction(), ProcArrayEndTransactionInternal(), ProcArrayGroupClearXid(), ProcArrayInstallImportedXmin(), ProcArrayInstallRestoredXmin(), ProcArrayRemove(), ProcArrayShmemAttach(), ProcArrayShmemInit(), ProcGlobalShmemInit(), ProcGlobalShmemRequest(), ProcKill(), ProcNumberGetProc(), ProcNumberGetTransactionIds(), ProcSendSignal(), ProcSleep(), ReplicationSlotRelease(), RequestCheckpoint(), set_indexsafe_procflags(), SetStartupBufferPinWaitBufId(), StartupDecodingContext(), TransactionGroupUpdateXidStatus(), TransactionIdIsInProgress(), vacuum_rel(), WakeupCheckpointer(), XidCacheRemoveRunningXids(), and XLogSetAsyncXactLSN().
|
static |
Definition at line 89 of file proc.c.
Referenced by ProcGlobalShmemInit(), and ProcGlobalShmemRequest().
| const ShmemCallbacks ProcGlobalShmemCallbacks |
| int StatementTimeout = 0 |
Definition at line 63 of file proc.c.
Referenced by enable_statement_timeout().
|
static |
Definition at line 88 of file proc.c.
Referenced by CalculateFastPathLockShmemSize(), ProcGlobalShmemInit(), and ProcGlobalShmemRequest().
| int TransactionTimeout = 0 |
Definition at line 66 of file proc.c.
Referenced by AbortTransaction(), CommitTransaction(), enable_statement_timeout(), PostgresMain(), PrepareTransaction(), ProcessInterrupts(), and StartTransaction().