PostgreSQL Source Code
git master
|
#include "storage/block.h"
Go to the source code of this file.
Macros | |
#define | IsAnyAutoVacuumProcess() (IsAutoVacuumLauncherProcess() || IsAutoVacuumWorkerProcess()) |
Enumerations | |
enum | AutoVacuumWorkItemType { AVW_BRINSummarizeRange } |
Functions | |
bool | AutoVacuumingActive (void) |
bool | IsAutoVacuumLauncherProcess (void) |
bool | IsAutoVacuumWorkerProcess (void) |
void | autovac_init (void) |
int | StartAutoVacLauncher (void) |
int | StartAutoVacWorker (void) |
void | AutoVacWorkerFailed (void) |
bool | AutoVacuumRequestWork (AutoVacuumWorkItemType type, Oid relationId, BlockNumber blkno) |
Size | AutoVacuumShmemSize (void) |
void | AutoVacuumShmemInit (void) |
#define IsAnyAutoVacuumProcess | ( | ) | (IsAutoVacuumLauncherProcess() || IsAutoVacuumWorkerProcess()) |
Definition at line 55 of file autovacuum.h.
void autovac_init | ( | void | ) |
Definition at line 3377 of file autovacuum.c.
References autovacuum_start_daemon, ereport, errhint(), errmsg(), pgstat_track_counts, and WARNING.
Referenced by PostmasterMain().
bool AutoVacuumingActive | ( | void | ) |
Definition at line 3323 of file autovacuum.c.
References autovacuum_start_daemon, and pgstat_track_counts.
Referenced by AutoVacLauncherMain(), HandleAutoVacLauncherInterrupts(), process_pm_child_exit(), relation_needs_vacanalyze(), and ServerLoop().
bool AutoVacuumRequestWork | ( | AutoVacuumWorkItemType | type, |
Oid | relationId, | ||
BlockNumber | blkno | ||
) |
Definition at line 3335 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 3427 of file autovacuum.c.
References Assert(), autovacuum_max_workers, AutoVacuumShmem, AutoVacuumShmemSize(), AutoVacuumShmemStruct::av_freeWorkers, AutoVacuumShmemStruct::av_launcherpid, AutoVacuumShmemStruct::av_nworkersForBalance, AutoVacuumShmemStruct::av_runningWorkers, AutoVacuumShmemStruct::av_startingWorker, AutoVacuumShmemStruct::av_workItems, dlist_init(), dlist_push_head(), i, IsUnderPostmaster, MAXALIGN, NUM_WORKITEMS, pg_atomic_init_flag(), pg_atomic_init_u32(), ShmemInitStruct(), and WorkerInfoData::wi_links.
Referenced by CreateSharedMemoryAndSemaphores().
Size AutoVacuumShmemSize | ( | void | ) |
Definition at line 3408 of file autovacuum.c.
References add_size(), autovacuum_max_workers, MAXALIGN, and mul_size().
Referenced by AutoVacuumShmemInit(), and CalculateShmemSize().
void AutoVacWorkerFailed | ( | void | ) |
Definition at line 1417 of file autovacuum.c.
References AutoVacForkFailed, AutoVacuumShmem, and AutoVacuumShmemStruct::av_signal.
Referenced by StartAutovacuumWorker().
bool IsAutoVacuumLauncherProcess | ( | void | ) |
Definition at line 3391 of file autovacuum.c.
References am_autovacuum_launcher.
Referenced by InitPostgres(), InitProcess(), and ProcKill().
bool IsAutoVacuumWorkerProcess | ( | void | ) |
Definition at line 3397 of file autovacuum.c.
References am_autovacuum_worker.
Referenced by BuildRelationExtStatistics(), CheckMyDatabase(), dead_items_max_items(), do_analyze_rel(), expand_vacuum_rel(), ginbulkdelete(), ginInsertCleanup(), ginvacuumcleanup(), heap_vacuum_rel(), InitializeSessionUserIdStandalone(), InitPostgres(), InitProcess(), pgstat_report_analyze(), pgstat_report_vacuum(), proc_exit(), ProcessInterrupts(), vacuum(), vacuum_delay_point(), and vacuum_open_relation().
int StartAutoVacLauncher | ( | void | ) |
Referenced by process_pm_child_exit(), and ServerLoop().
int StartAutoVacWorker | ( | void | ) |
Definition at line 1477 of file autovacuum.c.
References AutoVacWorkerMain(), ClosePostmasterPorts(), ereport, errmsg(), fork_process(), InitPostmasterChild(), and LOG.
Referenced by StartAutovacuumWorker().
|
extern |
Definition at line 125 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 126 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 117 of file autovacuum.c.
Referenced by AutoVacuumShmemInit(), AutoVacuumShmemSize(), check_max_connections(), check_max_wal_senders(), check_max_worker_processes(), InitializeMaxBackends(), InitProcGlobal(), and MaxLivePostmasterChildren().
|
extern |
Definition at line 127 of file autovacuum.c.
Referenced by MultiXactMemberFreezeThreshold(), SetMultiXactIdLimit(), and vacuum_xid_failsafe_check().
|
extern |
Definition at line 119 of file autovacuum.c.
Referenced by AutoVacLauncherMain(), do_start_worker(), launch_worker(), launcher_determine_sleep(), and rebuild_database_list().
|
extern |
Definition at line 116 of file autovacuum.c.
Referenced by autovac_init(), and AutoVacuumingActive().
|
extern |
Definition at line 129 of file autovacuum.c.
Referenced by VacuumUpdateCosts().
|
extern |
Definition at line 130 of file autovacuum.c.
Referenced by AutoVacuumUpdateCostLimit().
|
extern |
Definition at line 123 of file autovacuum.c.
Referenced by relation_needs_vacanalyze().
|
extern |
Definition at line 122 of file autovacuum.c.
Referenced by relation_needs_vacanalyze().
|
extern |
Definition at line 121 of file autovacuum.c.
Referenced by relation_needs_vacanalyze().
|
extern |
Definition at line 120 of file autovacuum.c.
Referenced by relation_needs_vacanalyze().
|
extern |
Definition at line 118 of file autovacuum.c.
Referenced by dead_items_max_items(), and ginInsertCleanup().
|
extern |
Definition at line 316 of file autovacuum.c.
Referenced by FreeWorkerInfo(), and ProcKill().
|
extern |
Definition at line 132 of file autovacuum.c.
Referenced by table_recheck_autovac().