PostgreSQL Source Code git master
|
#include "storage/block.h"
Go to the source code of this file.
Enumerations | |
enum | AutoVacuumWorkItemType { AVW_BRINSummarizeRange } |
Functions | |
bool | AutoVacuumingActive (void) |
void | autovac_init (void) |
void | AutoVacWorkerFailed (void) |
pg_noreturn void | AutoVacLauncherMain (const void *startup_data, size_t startup_data_len) |
pg_noreturn void | AutoVacWorkerMain (const void *startup_data, size_t startup_data_len) |
bool | AutoVacuumRequestWork (AutoVacuumWorkItemType type, Oid relationId, BlockNumber blkno) |
Size | AutoVacuumShmemSize (void) |
void | AutoVacuumShmemInit (void) |
void autovac_init | ( | void | ) |
Definition at line 3302 of file autovacuum.c.
References autovacuum_start_daemon, check_av_worker_gucs(), ereport, errhint(), errmsg(), pgstat_track_counts, and WARNING.
Referenced by PostmasterMain().
pg_noreturn void AutoVacLauncherMain | ( | const void * | startup_data, |
size_t | startup_data_len | ||
) |
Definition at line 368 of file autovacuum.c.
References AbortCurrentTransaction(), avl_dbase::adl_next_worker, ALLOCSET_DEFAULT_SIZES, AllocSetContextCreate, Assert(), AtEOXact_Buffers(), AtEOXact_Files(), AtEOXact_HashTables(), AtEOXact_SMgr(), autovac_recalculate_workers_for_balance(), AutoVacForkFailed, AutoVacLauncherShutdown(), AutovacMemCxt, AutoVacRebalance, autovacuum_naptime, AutoVacuumingActive(), AutoVacuumShmem, AuxProcessResourceOwner, AutoVacuumShmemStruct::av_freeWorkers, AutoVacuumShmemStruct::av_launcherpid, AutoVacuumShmemStruct::av_signal, AutoVacuumShmemStruct::av_startingWorker, av_worker_available(), avl_sigusr2_handler(), B_AUTOVAC_LAUNCHER, BaseInit(), DatabaseList, DatabaseListCxt, dclist_push_head(), DEBUG1, disable_all_timeouts(), dlist_init(), dlist_is_empty(), dlist_tail_element, do_start_worker(), EmitErrorReport(), ereport, errmsg(), errmsg_internal(), error_context_stack, FloatExceptionHandler(), FlushErrorState(), GetCurrentTimestamp(), GetProcessingMode, got_SIGUSR2, HOLD_INTERRUPTS, init_ps_display(), InitializeTimeouts(), InitPostgres(), InitProcess(), InitProcessing, InvalidOid, launch_worker(), launcher_determine_sleep(), LW_EXCLUSIVE, LW_SHARED, LWLockAcquire(), LWLockRelease(), LWLockReleaseAll(), MemoryContextDelete(), MemoryContextReset(), MemoryContextSwitchTo(), Min, MyBackendType, MyLatch, MyProcPid, NormalProcessing, PG_exception_stack, pg_usleep(), pgaio_error_cleanup(), PGC_S_OVERRIDE, PGC_SUSET, pgstat_report_wait_end(), PMSIGNAL_START_AUTOVAC_WORKER, PostAuthDelay, PostmasterContext, pqsignal, proc_exit(), ProcessAutoVacLauncherInterrupts(), procsignal_sigusr1_handler(), QueryCancelPending, rebuild_database_list(), ReleaseAuxProcessResources(), ResetLatch(), RESUME_INTERRUPTS, SendPostmasterSignal(), SetConfigOption(), SetProcessingMode, ShutdownRequestPending, SIGCHLD, SIGHUP, SignalHandlerForConfigReload(), SignalHandlerForShutdownRequest(), SIGPIPE, SIGUSR1, SIGUSR2, StatementCancelHandler(), TimestampDifferenceExceeds(), TopMemoryContext, UnBlockSig, UnlockBuffers(), WaitLatch(), WARNING, WorkerInfoData::wi_dboid, WorkerInfoData::wi_launchtime, WorkerInfoData::wi_links, WorkerInfoData::wi_proc, WorkerInfoData::wi_sharedrel, WorkerInfoData::wi_tableoid, WL_EXIT_ON_PM_DEATH, WL_LATCH_SET, and WL_TIMEOUT.
bool AutoVacuumingActive | ( | void | ) |
Definition at line 3248 of file autovacuum.c.
References autovacuum_start_daemon, and pgstat_track_counts.
Referenced by AutoVacLauncherMain(), index_update_stats(), LaunchMissingBackgroundProcesses(), ProcessAutoVacLauncherInterrupts(), and relation_needs_vacanalyze().
bool AutoVacuumRequestWork | ( | AutoVacuumWorkItemType | type, |
Oid | relationId, | ||
BlockNumber | blkno | ||
) |
Definition at line 3260 of file autovacuum.c.
References AutoVacuumShmem, AutoVacuumShmemStruct::av_workItems, AutoVacuumWorkItem::avw_active, AutoVacuumWorkItem::avw_blockNumber, AutoVacuumWorkItem::avw_database, AutoVacuumWorkItem::avw_relation, AutoVacuumWorkItem::avw_type, AutoVacuumWorkItem::avw_used, i, LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), MyDatabaseId, NUM_WORKITEMS, and type.
Referenced by brininsert().
void AutoVacuumShmemInit | ( | void | ) |
Definition at line 3338 of file autovacuum.c.
References Assert(), autovacuum_worker_slots, AutoVacuumShmem, AutoVacuumShmemSize(), AutoVacuumShmemStruct::av_freeWorkers, AutoVacuumShmemStruct::av_launcherpid, AutoVacuumShmemStruct::av_nworkersForBalance, AutoVacuumShmemStruct::av_runningWorkers, AutoVacuumShmemStruct::av_startingWorker, AutoVacuumShmemStruct::av_workItems, dclist_init(), dclist_push_head(), dlist_init(), i, IsUnderPostmaster, MAXALIGN, NUM_WORKITEMS, pg_atomic_init_flag(), pg_atomic_init_u32(), ShmemInitStruct(), and WorkerInfoData::wi_links.
Referenced by CreateOrAttachShmemStructs().
Size AutoVacuumShmemSize | ( | void | ) |
Definition at line 3319 of file autovacuum.c.
References add_size(), autovacuum_worker_slots, MAXALIGN, and mul_size().
Referenced by AutoVacuumShmemInit(), and CalculateShmemSize().
void AutoVacWorkerFailed | ( | void | ) |
Definition at line 1354 of file autovacuum.c.
References AutoVacForkFailed, AutoVacuumShmem, and AutoVacuumShmemStruct::av_signal.
Referenced by StartAutovacuumWorker().
pg_noreturn void AutoVacWorkerMain | ( | const void * | startup_data, |
size_t | startup_data_len | ||
) |
Definition at line 1376 of file autovacuum.c.
References Assert(), AutoVacuumShmem, AutoVacuumShmemStruct::av_launcherpid, AutoVacuumShmemStruct::av_runningWorkers, AutoVacuumShmemStruct::av_startingWorker, B_AUTOVAC_WORKER, BaseInit(), dbname, DEBUG1, die, dlist_push_head(), do_autovacuum(), elog, EmitErrorReport(), ereport, errmsg_internal(), error_context_stack, FloatExceptionHandler(), FreeWorkerInfo(), GetProcessingMode, HOLD_INTERRUPTS, INIT_PG_OVERRIDE_ALLOW_CONNS, init_ps_display(), InitializeTimeouts(), InitPostgres(), InitProcess(), InitProcessing, InvalidOid, kill, LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), MemoryContextDelete(), MyBackendType, MyProc, MyWorkerInfo, NAMEDATALEN, NormalProcessing, OidIsValid, on_shmem_exit(), PG_exception_stack, pg_usleep(), PGC_S_OVERRIDE, PGC_SUSET, pgstat_report_autovac(), PostAuthDelay, PostmasterContext, pqsignal, proc_exit(), procsignal_sigusr1_handler(), ReadNextMultiXactId(), ReadNextTransactionId(), recentMulti, recentXid, set_ps_display(), SetConfigOption(), SetProcessingMode, SIGCHLD, SIGHUP, SignalHandlerForConfigReload(), SIGPIPE, SIGUSR1, SIGUSR2, StatementCancelHandler(), synchronous_commit, SYNCHRONOUS_COMMIT_LOCAL_FLUSH, UnBlockSig, WARNING, WorkerInfoData::wi_dboid, WorkerInfoData::wi_links, and WorkerInfoData::wi_proc.
|
extern |
Definition at line 129 of file autovacuum.c.
Referenced by relation_needs_vacanalyze().
|
extern |
Definition at line 128 of file autovacuum.c.
Referenced by relation_needs_vacanalyze().
|
extern |
Definition at line 130 of file autovacuum.c.
Referenced by do_start_worker(), relation_needs_vacanalyze(), SetTransactionIdLimit(), vacuum_get_cutoffs(), and vacuum_xid_failsafe_check().
|
extern |
Definition at line 120 of file autovacuum.c.
Referenced by av_worker_available(), check_av_worker_gucs(), and ProcessAutoVacLauncherInterrupts().
|
extern |
Definition at line 131 of file autovacuum.c.
Referenced by MultiXactMemberFreezeThreshold(), SetMultiXactIdLimit(), and vacuum_xid_failsafe_check().
|
extern |
Definition at line 122 of file autovacuum.c.
Referenced by AutoVacLauncherMain(), do_start_worker(), launch_worker(), launcher_determine_sleep(), and rebuild_database_list().
|
extern |
Definition at line 118 of file autovacuum.c.
Referenced by autovac_init(), and AutoVacuumingActive().
|
extern |
Definition at line 133 of file autovacuum.c.
Referenced by VacuumUpdateCosts().
|
extern |
Definition at line 134 of file autovacuum.c.
Referenced by AutoVacuumUpdateCostLimit().
|
extern |
Definition at line 127 of file autovacuum.c.
Referenced by relation_needs_vacanalyze().
|
extern |
Definition at line 126 of file autovacuum.c.
Referenced by relation_needs_vacanalyze().
|
extern |
Definition at line 124 of file autovacuum.c.
Referenced by relation_needs_vacanalyze().
|
extern |
Definition at line 125 of file autovacuum.c.
Referenced by relation_needs_vacanalyze().
|
extern |
Definition at line 123 of file autovacuum.c.
Referenced by relation_needs_vacanalyze().
|
extern |
Definition at line 121 of file autovacuum.c.
Referenced by dead_items_alloc(), and ginInsertCleanup().
|
extern |
Definition at line 119 of file autovacuum.c.
Referenced by AutoVacuumShmemInit(), AutoVacuumShmemSize(), av_worker_available(), check_av_worker_gucs(), InitializeMaxBackends(), InitPostmasterChildSlots(), and InitProcGlobal().
|
extern |
Definition at line 317 of file autovacuum.c.
Referenced by FreeWorkerInfo(), and ProcKill().
|
extern |
Definition at line 136 of file autovacuum.c.
Referenced by table_recheck_autovac().