|
PostgreSQL Source Code git master
|
#include "access/htup.h"#include "access/genam.h"#include "access/parallel.h"#include "access/tidstore.h"#include "catalog/pg_class.h"#include "catalog/pg_statistic.h"#include "catalog/pg_type.h"#include "parser/parse_node.h"#include "storage/buf.h"#include "utils/relcache.h"

Go to the source code of this file.
Data Structures | |
| struct | VacAttrStats |
| struct | VacuumParams |
| struct | VacuumCutoffs |
| struct | VacDeadItemsInfo |
| struct | PVWorkerStats |
| struct | PVWorkerUsage |
Macros | |
| #define | VACUUM_OPTION_NO_PARALLEL 0 |
| #define | VACUUM_OPTION_PARALLEL_BULKDEL (1 << 0) |
| #define | VACUUM_OPTION_PARALLEL_COND_CLEANUP (1 << 1) |
| #define | VACUUM_OPTION_PARALLEL_CLEANUP (1 << 2) |
| #define | VACUUM_OPTION_MAX_VALID_VALUE ((1 << 3) - 1) |
| #define | VACOPT_VACUUM 0x01 /* do VACUUM */ |
| #define | VACOPT_ANALYZE 0x02 /* do ANALYZE */ |
| #define | VACOPT_VERBOSE 0x04 /* output INFO instrumentation messages */ |
| #define | VACOPT_FREEZE 0x08 /* FREEZE option */ |
| #define | VACOPT_FULL 0x10 /* FULL (non-concurrent) vacuum */ |
| #define | VACOPT_SKIP_LOCKED 0x20 /* skip if cannot get lock */ |
| #define | VACOPT_PROCESS_MAIN 0x40 /* process main relation */ |
| #define | VACOPT_PROCESS_TOAST 0x80 /* process the TOAST table, if any */ |
| #define | VACOPT_DISABLE_PAGE_SKIPPING 0x100 /* don't skip any pages */ |
| #define | VACOPT_SKIP_DATABASE_STATS 0x200 /* skip vac_update_datfrozenxid() */ |
| #define | VACOPT_ONLY_DATABASE_STATS 0x400 /* only vac_update_datfrozenxid() */ |
| #define | MAX_STATISTICS_TARGET 10000 |
Typedefs | |
| typedef struct ParallelVacuumState | ParallelVacuumState |
| typedef struct VacAttrStats * | VacAttrStatsP |
| typedef Datum(* | AnalyzeAttrFetchFunc) (VacAttrStatsP stats, int rownum, bool *isNull) |
| typedef void(* | AnalyzeAttrComputeStatsFunc) (VacAttrStatsP stats, AnalyzeAttrFetchFunc fetchfunc, int samplerows, double totalrows) |
| typedef struct VacAttrStats | VacAttrStats |
| typedef enum VacOptValue | VacOptValue |
| typedef struct VacuumParams | VacuumParams |
| typedef struct VacDeadItemsInfo | VacDeadItemsInfo |
| typedef struct PVWorkerStats | PVWorkerStats |
| typedef struct PVWorkerUsage | PVWorkerUsage |
Enumerations | |
| enum | VacOptValue { VACOPTVALUE_UNSPECIFIED = 0 , VACOPTVALUE_AUTO , VACOPTVALUE_DISABLED , VACOPTVALUE_ENABLED } |
| #define VACOPT_ONLY_DATABASE_STATS 0x400 /* only vac_update_datfrozenxid() */ |
| #define VACOPT_SKIP_DATABASE_STATS 0x200 /* skip vac_update_datfrozenxid() */ |
| typedef void(* AnalyzeAttrComputeStatsFunc) (VacAttrStatsP stats, AnalyzeAttrFetchFunc fetchfunc, int samplerows, double totalrows) |
| typedef Datum(* AnalyzeAttrFetchFunc) (VacAttrStatsP stats, int rownum, bool *isNull) |
| typedef struct PVWorkerStats PVWorkerStats |
| typedef struct PVWorkerUsage PVWorkerUsage |
| typedef struct VacAttrStats VacAttrStats |
| typedef struct VacAttrStats* VacAttrStatsP |
| typedef struct VacuumParams VacuumParams |
| Enumerator | |
|---|---|
| VACOPTVALUE_UNSPECIFIED | |
| VACOPTVALUE_AUTO | |
| VACOPTVALUE_DISABLED | |
| VACOPTVALUE_ENABLED | |
Definition at line 199 of file vacuum.h.
|
extern |
Definition at line 110 of file analyze.c.
References acquire_sample_rows(), AmAutoVacuumWorkerProcess, FdwRoutine::AnalyzeForeignTable, CHECK_FOR_INTERRUPTS, DEBUG2, do_analyze_rel(), ereport, errmsg, fb(), GetFdwRoutineForRelation(), FdwRoutine::ImportForeignStatistics, INFO, VacuumParams::log_analyze_min_duration, NIL, NoLock, VacuumParams::options, pgstat_progress_end_command(), pgstat_progress_start_command(), pgstat_progress_update_param(), PROGRESS_ANALYZE_STARTED_BY, PROGRESS_ANALYZE_STARTED_BY_AUTOVACUUM, PROGRESS_ANALYZE_STARTED_BY_MANUAL, PROGRESS_COMMAND_ANALYZE, relation_close(), RELATION_IS_OTHER_TEMP, RelationGetNumberOfBlocks, RelationGetRelationName, RelationGetRelid, ShareUpdateExclusiveLock, vac_strategy, VACOPT_VACUUM, VACOPT_VERBOSE, vacuum_is_permitted_for_relation(), vacuum_open_relation(), validate_va_cols_list(), and WARNING.
Referenced by process_single_relation(), and vacuum().
Definition at line 296 of file sampling.c.
Definition at line 281 of file sampling.c.
Definition at line 266 of file sampling.c.
|
extern |
Definition at line 1176 of file analyze.c.
References attnum, DatumGetInt16(), elog, ERROR, fb(), HeapTupleIsValid, Int16GetDatum(), ObjectIdGetDatum(), RelationGetRelid, ReleaseSysCache(), SearchSysCache2(), and SysCacheGetAttr().
Referenced by build_remattrmap(), and examine_attribute().
Definition at line 1751 of file autovacuum.c.
References Assert, autovacuum_vac_cost_limit, AutoVacuumShmem, AutoVacuumShmemStruct::av_nworkersForBalance, av_storage_param_cost_limit, elog, ERROR, fb(), Max, MyWorkerInfo, pg_atomic_read_u32(), pg_atomic_unlocked_test_flag(), vacuum_cost_limit, VacuumCostLimit, and WorkerInfoData::wi_dobalance.
Referenced by vacuum_delay_point(), and VacuumUpdateCosts().
|
extern |
Definition at line 163 of file vacuum.c.
References _, ALLOCSET_DEFAULT_SIZES, AllocSetContextCreate, analyze(), DefElem::arg, Assert, BAS_VACUUM, defGetBoolean(), defGetInt32(), defGetString(), DefElem::defname, ereport, errcode(), errhint_internal(), errmsg, ERROR, fb(), VacuumParams::freeze_min_age, VacuumParams::freeze_table_age, get_vacoptval_from_boolean(), GetAccessStrategyWithSize(), GUC_UNIT_KB, VacuumParams::index_cleanup, InvalidOid, VacuumParams::is_wraparound, lfirst, lfirst_node, DefElem::location, VacuumParams::log_analyze_min_duration, VacuumParams::log_vacuum_min_duration, MAX_BAS_VAC_RING_SIZE_KB, VacuumParams::max_eager_freeze_failure_rate, MAX_PARALLEL_WORKER_LIMIT, MemoryContextDelete(), MemoryContextSwitchTo(), MIN_BAS_VAC_RING_SIZE_KB, VacuumParams::multixact_freeze_min_age, VacuumParams::multixact_freeze_table_age, NIL, VacuumParams::nworkers, VacuumParams::options, parse_int(), parser_errposition(), pg_strcasecmp(), PortalContext, result, VacuumParams::toast_parent, VacuumParams::truncate, VACOPT_ANALYZE, VACOPT_DISABLE_PAGE_SKIPPING, VACOPT_FREEZE, VACOPT_FULL, VACOPT_ONLY_DATABASE_STATS, VACOPT_PROCESS_MAIN, VACOPT_PROCESS_TOAST, VACOPT_SKIP_DATABASE_STATS, VACOPT_SKIP_LOCKED, VACOPT_VACUUM, VACOPT_VERBOSE, VACOPTVALUE_AUTO, VACOPTVALUE_UNSPECIFIED, vacuum(), vacuum_max_eager_freeze_failure_rate, VacuumBufferUsageLimit, and verbose.
Referenced by standard_ProcessUtility().
|
extern |
Definition at line 595 of file vacuumparallel.c.
References Assert, PVShared::estimated_count, fb(), IsParallelWorker, parallel_vacuum_process_all_indexes(), PVShared::reltuples, and ParallelVacuumState::shared.
Referenced by lazy_vacuum_all_indexes().
|
extern |
Definition at line 614 of file vacuumparallel.c.
References Assert, PVShared::estimated_count, fb(), IsParallelWorker, parallel_vacuum_process_all_indexes(), PVShared::reltuples, and ParallelVacuumState::shared.
Referenced by lazy_cleanup_all_indexes().
|
extern |
Definition at line 515 of file vacuumparallel.c.
References AmAutoVacuumWorkerProcess, Assert, ParallelVacuumState::dead_items, DestroyParallelContext(), ExitParallelMode(), fb(), i, ParallelVacuumState::indstats, IsParallelWorker, PVIndStats::istat, PVIndStats::istat_updated, memcpy(), ParallelVacuumState::nindexes, palloc0_object, ParallelVacuumState::pcxt, pfree(), pv_shared_cost_params, TidStoreDestroy(), and ParallelVacuumState::will_parallel_vacuum.
Referenced by dead_items_cleanup().
|
extern |
Definition at line 562 of file vacuumparallel.c.
References ParallelVacuumState::dead_items, PVShared::dead_items_info, fb(), and ParallelVacuumState::shared.
Referenced by dead_items_alloc(), and dead_items_reset().
|
extern |
Definition at line 305 of file vacuumparallel.c.
References PVShared::active_nworkers, AmAutoVacuumWorkerProcess, IndexAmRoutine::amparallelvacuumoptions, Assert, ParallelVacuumState::bstrategy, ParallelVacuumState::buffer_usage, PVShared::cost_balance, PVShared::cost_params, CreateParallelContext(), ParallelVacuumState::dead_items, PVShared::dead_items_dsa_handle, PVShared::dead_items_handle, PVShared::dead_items_info, debug_query_string, dsa_get_handle(), PVShared::elevel, EnterParallelMode(), ParallelContext::estimator, fb(), PVSharedCostParams::generation, GetAccessStrategyBufferCount(), ParallelVacuumState::heaprel, i, PVShared::idx, ParallelVacuumState::indrels, ParallelVacuumState::indstats, InitializeParallelDSM(), PVShared::is_autovacuum, PVShared::maintenance_work_mem_worker, VacDeadItemsInfo::max_bytes, memcpy(), MemSet, Min, mul_size(), PVSharedCostParams::mutex, ParallelVacuumState::nindexes, ParallelVacuumState::nindexes_parallel_bulkdel, ParallelVacuumState::nindexes_parallel_cleanup, ParallelVacuumState::nindexes_parallel_condcleanup, ParallelContext::nworkers, on_dsm_detach(), palloc0_array, palloc0_object, parallel_vacuum_compute_workers(), parallel_vacuum_dsm_detach(), PARALLEL_VACUUM_KEY_BUFFER_USAGE, PARALLEL_VACUUM_KEY_INDEX_STATS, PARALLEL_VACUUM_KEY_QUERY_TEXT, PARALLEL_VACUUM_KEY_SHARED, PARALLEL_VACUUM_KEY_WAL_USAGE, parallel_vacuum_set_cost_parameters(), ParallelVacuumState::pcxt, pfree(), pg_atomic_init_u32(), pgstat_get_my_query_id(), pv_shared_cost_params, PVShared::queryid, RelationData::rd_indam, RelationGetRelid, PVShared::relid, PVShared::ring_nbuffers, ParallelContext::seg, ParallelVacuumState::shared, shm_toc_allocate(), shm_toc_estimate_chunk, shm_toc_estimate_keys, shm_toc_insert(), SpinLockInit(), TidStoreCreateShared(), TidStoreGetDSA(), TidStoreGetHandle(), ParallelContext::toc, VACUUM_OPTION_MAX_VALID_VALUE, VACUUM_OPTION_PARALLEL_BULKDEL, VACUUM_OPTION_PARALLEL_CLEANUP, VACUUM_OPTION_PARALLEL_COND_CLEANUP, ParallelVacuumState::wal_usage, and ParallelVacuumState::will_parallel_vacuum.
Referenced by dead_items_alloc().
|
extern |
Definition at line 1197 of file vacuumparallel.c.
References PVShared::active_nworkers, ErrorContextCallback::arg, Assert, BAS_VACUUM, ParallelVacuumState::bstrategy, ErrorContextCallback::callback, PVShared::cost_balance, PVShared::cost_params, ParallelVacuumState::dead_items, PVShared::dead_items_dsa_handle, PVShared::dead_items_handle, DEBUG1, debug_query_string, elog, error_context_stack, fb(), FreeAccessStrategy(), get_namespace_name(), GetAccessStrategyWithSize(), ParallelVacuumState::heaprel, ParallelVacuumState::indname, ParallelVacuumState::indrels, ParallelVacuumState::indstats, InstrEndParallelQuery(), InstrStartParallelQuery(), PVShared::is_autovacuum, maintenance_work_mem, PVShared::maintenance_work_mem_worker, MyProc, ParallelVacuumState::nindexes, PARALLEL_INDVAC_STATUS_INITIAL, parallel_vacuum_error_callback(), PARALLEL_VACUUM_KEY_BUFFER_USAGE, PARALLEL_VACUUM_KEY_INDEX_STATS, PARALLEL_VACUUM_KEY_QUERY_TEXT, PARALLEL_VACUUM_KEY_SHARED, PARALLEL_VACUUM_KEY_WAL_USAGE, parallel_vacuum_process_safe_indexes(), parallel_vacuum_update_shared_delay_params(), parallel_vacuum_worker_delay_ns, ParallelWorkerNumber, pgstat_progress_parallel_incr_param(), pgstat_report_activity(), pgstat_report_query_id(), ErrorContextCallback::previous, PROC_IN_VACUUM, PROGRESS_VACUUM_DELAY_TIME, pstrdup(), pv_shared_cost_params, PVShared::queryid, RelationGetNamespace, RelationGetRelationName, PVShared::relid, ParallelVacuumState::relname, ParallelVacuumState::relnamespace, PVShared::ring_nbuffers, RowExclusiveLock, ParallelVacuumState::shared, ShareUpdateExclusiveLock, shm_toc_lookup(), STATE_RUNNING, ParallelVacuumState::status, PGPROC::statusFlags, table_close(), table_open(), TidStoreAttach(), TidStoreDetach(), track_cost_delay_timing, vac_close_indexes(), vac_open_indexes(), VacuumActiveNWorkers, VacuumCostBalance, VacuumCostBalanceLocal, VacuumSharedCostBalance, and VacuumUpdateCosts().
Definition at line 695 of file vacuumparallel.c.
References AmAutoVacuumWorkerProcess, Assert, PVSharedCostParams::cost_delay, PVSharedCostParams::cost_limit, PVSharedCostParams::cost_page_dirty, PVSharedCostParams::cost_page_hit, PVSharedCostParams::cost_page_miss, fb(), PVSharedCostParams::generation, PVSharedCostParams::mutex, parallel_vacuum_set_cost_parameters(), pg_atomic_fetch_add_u32(), pv_shared_cost_params, SpinLockAcquire(), SpinLockRelease(), vacuum_cost_delay, vacuum_cost_limit, VacuumCostPageDirty, VacuumCostPageHit, and VacuumCostPageMiss.
Referenced by vacuum_delay_point().
|
extern |
Definition at line 570 of file vacuumparallel.c.
References ParallelVacuumState::dead_items, PVShared::dead_items_dsa_handle, PVShared::dead_items_handle, PVShared::dead_items_info, dsa_get_handle(), fb(), VacDeadItemsInfo::max_bytes, VacDeadItemsInfo::num_items, ParallelVacuumState::shared, TidStoreCreateShared(), TidStoreDestroy(), TidStoreGetDSA(), and TidStoreGetHandle().
Referenced by dead_items_reset().
Definition at line 651 of file vacuumparallel.c.
References Assert, PVSharedCostParams::cost_delay, PVSharedCostParams::cost_limit, PVSharedCostParams::cost_page_dirty, PVSharedCostParams::cost_page_hit, PVSharedCostParams::cost_page_miss, DEBUG2, elog, fb(), PVSharedCostParams::generation, IsParallelWorker, PVSharedCostParams::mutex, pg_atomic_read_u32(), pv_shared_cost_params, shared_params_generation_local, SpinLockAcquire(), SpinLockRelease(), vacuum_cost_delay, vacuum_cost_limit, VacuumCostDelay, VacuumCostLimit, VacuumCostPageDirty, VacuumCostPageHit, VacuumCostPageMiss, and VacuumUpdateCosts().
Referenced by parallel_vacuum_main(), and vacuum_delay_point().
|
extern |
Definition at line 1949 of file analyze.c.
References VacAttrStats::attrtypid, VacAttrStats::attstattarget, compute_distinct_stats(), compute_scalar_stats(), VacAttrStats::compute_stats, compute_trivial_stats(), default_statistics_target, VacAttrStats::extra_data, fb(), get_opcode(), get_sort_group_operators(), InvalidOid, VacAttrStats::minrows, OidIsValid, and palloc_object.
Referenced by array_typanalyze(), examine_attribute(), examine_attribute(), and examine_expression().
|
extern |
Definition at line 2658 of file vacuum.c.
References ereport, errmsg, fb(), index_bulk_delete(), VacDeadItemsInfo::num_items, RelationGetRelationName, and vac_tid_reaped().
Referenced by lazy_vacuum_one_index(), and parallel_vacuum_process_one_index().
|
extern |
Definition at line 2679 of file vacuum.c.
References ereport, errdetail(), errmsg, fb(), index_vacuum_cleanup(), IndexBulkDeleteResult::num_index_tuples, IndexBulkDeleteResult::num_pages, IndexBulkDeleteResult::pages_deleted, IndexBulkDeleteResult::pages_free, IndexBulkDeleteResult::pages_newly_deleted, RelationGetRelationName, and IndexBulkDeleteResult::tuples_removed.
Referenced by lazy_cleanup_one_index(), and parallel_vacuum_process_one_index().
Definition at line 2412 of file vacuum.c.
References fb(), index_close(), and pfree().
Referenced by do_analyze_rel(), heap_vacuum_rel(), and parallel_vacuum_main().
|
extern |
Definition at line 1331 of file vacuum.c.
References fb(), and RelationData::rd_rel.
Referenced by lazy_scan_heap(), and statapprox_heap().
|
extern |
Definition at line 2369 of file vacuum.c.
References Assert, fb(), i, index_close(), index_open(), lfirst_oid, list_free(), list_length(), NoLock, palloc(), and RelationGetIndexList().
Referenced by do_analyze_rel(), heap_vacuum_rel(), and parallel_vacuum_main().
Definition at line 1609 of file vacuum.c.
References AccessShareLock, Assert, BTEqualStrategyNumber, elog, ERROR, ExclusiveLock, fb(), ForceTransactionIdLimitUpdate(), Form_pg_database, GetOldestMultiXactId(), GetOldestNonRemovableTransactionId(), GETSTRUCT(), heap_freetuple(), HeapTupleIsValid, InvalidOid, LockDatabaseFrozenIds(), MultiXactIdIsValid, MultiXactIdPrecedes(), MyDatabaseId, ObjectIdGetDatum(), ReadNextMultiXactId(), ReadNextTransactionId(), RowExclusiveLock, ScanKeyInit(), systable_beginscan(), systable_endscan(), systable_getnext(), systable_inplace_update_begin(), systable_inplace_update_cancel(), systable_inplace_update_finish(), table_close(), table_open(), TransactionIdIsNormal, TransactionIdIsValid, TransactionIdPrecedes(), and vac_truncate_clog().
Referenced by do_autovacuum(), and vacuum().
|
extern |
Definition at line 1427 of file vacuum.c.
References BTEqualStrategyNumber, elog, ereport, errcode(), ERRCODE_DATA_CORRUPTED, errmsg_internal(), ERROR, fb(), GETSTRUCT(), HeapTupleIsValid, MultiXactIdIsValid, MultiXactIdPrecedes(), ObjectIdGetDatum(), RelationData::rd_rules, ReadNextMultiXactId(), ReadNextTransactionId(), RelationGetRelationName, RelationGetRelid, RowExclusiveLock, ScanKeyInit(), systable_inplace_update_begin(), systable_inplace_update_cancel(), systable_inplace_update_finish(), table_close(), table_open(), TransactionIdIsNormal, TransactionIdPrecedes(), RelationData::trigdesc, and WARNING.
Referenced by do_analyze_rel(), heap_vacuum_rel(), and update_relstats_all_indexes().
|
extern |
Definition at line 494 of file vacuum.c.
References ActiveSnapshotSet(), AmAutoVacuumWorkerProcess, analyze_rel(), Assert, CommandCounterIncrement(), CommitTransactionCommand(), cur, ereport, errcode(), errmsg, ERROR, expand_vacuum_rel(), fb(), get_all_vacuum_rels(), GetTransactionSnapshot(), IsInTransactionBlock(), lfirst_node, list_concat(), list_length(), MemoryContextSwitchTo(), NIL, VacuumParams::options, PG_END_TRY, PG_FINALLY, PG_TRY, PopActiveSnapshot(), PreventInTransactionBlock(), PushActiveSnapshot(), StartTransactionCommand(), vac_update_datfrozenxid(), VACOPT_ANALYZE, VACOPT_ONLY_DATABASE_STATS, VACOPT_SKIP_DATABASE_STATS, VACOPT_VACUUM, vacuum_rel(), VacuumActiveNWorkers, VacuumCostActive, VacuumCostBalance, VacuumCostBalanceLocal, VacuumFailsafeActive, VacuumSharedCostBalance, and VacuumUpdateCosts().
Referenced by autovacuum_do_vac_analyze(), ExecVacuum(), parallel_vacuum_index_is_parallel_safe(), and parallel_vacuum_process_all_indexes().
Definition at line 2433 of file vacuum.c.
References AmAutoVacuumWorkerProcess, Assert, AutoVacuumUpdateCostLimit(), CHECK_FOR_INTERRUPTS, compute_parallel_delay(), ConfigReloadPending, fb(), INSTR_TIME_ACCUM_DIFF, INSTR_TIME_GET_NANOSEC, INSTR_TIME_SET_CURRENT, INSTR_TIME_SET_ZERO, InterruptPending, IsParallelWorker, IsUnderPostmaster, PARALLEL_VACUUM_DELAY_REPORT_INTERVAL_NS, parallel_vacuum_propagate_shared_delay_params(), parallel_vacuum_update_shared_delay_params(), parallel_vacuum_worker_delay_ns, pg_usleep(), PGC_SIGHUP, pgstat_progress_incr_param(), pgstat_progress_parallel_incr_param(), pgstat_report_wait_end(), pgstat_report_wait_start(), PostmasterIsAlive, ProcessConfigFile(), PROGRESS_ANALYZE_DELAY_TIME, PROGRESS_VACUUM_DELAY_TIME, track_cost_delay_timing, vacuum_cost_delay, vacuum_cost_limit, VacuumCostActive, VacuumCostBalance, VacuumSharedCostBalance, and VacuumUpdateCosts().
Referenced by acquire_sample_rows(), blbulkdelete(), blvacuumcleanup(), btvacuumpage(), btvacuumscan(), compute_array_stats(), compute_distinct_stats(), compute_index_stats(), compute_range_stats(), compute_scalar_stats(), compute_trivial_stats(), compute_tsvector_stats(), file_acquire_sample_rows(), ginbulkdelete(), ginInsertCleanup(), ginvacuumcleanup(), gistvacuumpage(), gistvacuumscan(), hashbucketcleanup(), lazy_scan_heap(), lazy_vacuum_heap_rel(), ProcessSingleRelationFork(), spgprocesspending(), and spgvacuumscan().
|
extern |
Definition at line 1101 of file vacuum.c.
References Assert, autovacuum_freeze_max_age, ereport, errhint(), errmsg, fb(), FirstMultiXactId, FirstNormalTransactionId, VacuumParams::freeze_min_age, VacuumParams::freeze_table_age, VacuumCutoffs::FreezeLimit, GetOldestMultiXactId(), GetOldestNonRemovableTransactionId(), Min, VacuumParams::multixact_freeze_min_age, VacuumParams::multixact_freeze_table_age, VacuumCutoffs::MultiXactCutoff, MultiXactIdIsValid, MultiXactIdPrecedes(), MultiXactIdPrecedesOrEquals(), MultiXactMemberFreezeThreshold(), VacuumCutoffs::OldestMxact, VacuumCutoffs::OldestXmin, RelationData::rd_rel, ReadNextMultiXactId(), ReadNextTransactionId(), VacuumCutoffs::relfrozenxid, VacuumCutoffs::relminmxid, TransactionIdIsNormal, TransactionIdPrecedes(), TransactionIdPrecedesOrEquals(), vacuum_freeze_min_age, vacuum_freeze_table_age, vacuum_multixact_freeze_min_age, vacuum_multixact_freeze_table_age, and WARNING.
Referenced by copy_table_data(), and heap_vacuum_rel().
|
extern |
Definition at line 720 of file vacuum.c.
References ACL_MAINTAIN, ACLCHECK_OK, Assert, ereport, errmsg, fb(), GetUserId(), MyDatabaseId, NameStr, object_ownercheck(), pg_class_aclcheck(), relname, VACOPT_ANALYZE, VACOPT_VACUUM, and WARNING.
Referenced by analyze_rel(), expand_vacuum_rel(), get_all_vacuum_rels(), and vacuum_rel().
|
extern |
Definition at line 772 of file vacuum.c.
References AmAutoVacuumWorkerProcess, Assert, ConditionalLockRelationOid(), ereport, errcode(), ERRCODE_UNDEFINED_TABLE, errmsg, fb(), LOG, NoLock, RangeVar::relname, try_relation_open(), VACOPT_ANALYZE, VACOPT_SKIP_LOCKED, VACOPT_VACUUM, verbose, and WARNING.
Referenced by analyze_rel(), and vacuum_rel().
|
extern |
Definition at line 1269 of file vacuum.c.
References Assert, autovacuum_freeze_max_age, autovacuum_multixact_freeze_max_age, fb(), FirstMultiXactId, FirstNormalTransactionId, Max, MultiXactIdIsValid, MultiXactIdPrecedes(), ReadNextMultiXactId(), ReadNextTransactionId(), VacuumCutoffs::relfrozenxid, VacuumCutoffs::relminmxid, TransactionIdIsNormal, TransactionIdPrecedes(), vacuum_failsafe_age, and vacuum_multixact_failsafe_age.
Referenced by lazy_check_wraparound_failsafe().
Definition at line 1682 of file autovacuum.c.
References Assert, autovacuum_vac_cost_delay, AutoVacuumUpdateCostLimit(), av_storage_param_cost_delay, DEBUG2, elog, fb(), LW_SHARED, LWLockAcquire(), LWLockHeldByMe(), LWLockRelease(), message_level_is_interesting(), MyWorkerInfo, pg_atomic_unlocked_test_flag(), vacuum_cost_delay, vacuum_cost_limit, VacuumCostActive, VacuumCostBalance, VacuumCostDelay, VacuumCostLimit, VacuumFailsafeActive, WorkerInfoData::wi_dboid, WorkerInfoData::wi_dobalance, and WorkerInfoData::wi_tableoid.
Referenced by do_autovacuum(), parallel_vacuum_main(), parallel_vacuum_update_shared_delay_params(), vacuum(), and vacuum_delay_point().
|
extern |
Definition at line 71 of file analyze.c.
Referenced by int_custom_typanalyze_invalid(), multirange_typanalyze(), range_typanalyze(), statext_compute_stattarget(), std_typanalyze(), and ts_typanalyze().
|
extern |
Definition at line 96 of file vacuum.c.
Referenced by parallel_vacuum_main(), and vacuum_delay_point().
|
extern |
Definition at line 83 of file vacuum.c.
Referenced by do_analyze_rel(), heap_vacuum_rel(), parallel_vacuum_main(), and vacuum_delay_point().
|
extern |
Definition at line 92 of file vacuum.c.
Referenced by compute_parallel_delay(), default_reloptions(), parallel_vacuum_propagate_shared_delay_params(), parallel_vacuum_set_cost_parameters(), parallel_vacuum_update_shared_delay_params(), vacuum_delay_point(), and VacuumUpdateCosts().
|
extern |
Definition at line 93 of file vacuum.c.
Referenced by AutoVacuumUpdateCostLimit(), compute_parallel_delay(), default_reloptions(), parallel_vacuum_propagate_shared_delay_params(), parallel_vacuum_set_cost_parameters(), parallel_vacuum_update_shared_delay_params(), vacuum_delay_point(), and VacuumUpdateCosts().
|
extern |
Definition at line 80 of file vacuum.c.
Referenced by relation_needs_vacanalyze(), and vacuum_xid_failsafe_check().
|
extern |
Definition at line 76 of file vacuum.c.
Referenced by do_autovacuum(), and vacuum_get_cutoffs().
|
extern |
Definition at line 77 of file vacuum.c.
Referenced by do_autovacuum(), and vacuum_get_cutoffs().
|
extern |
Definition at line 82 of file vacuum.c.
Referenced by default_reloptions(), ExecVacuum(), and table_recheck_autovac().
|
extern |
Definition at line 81 of file vacuum.c.
Referenced by relation_needs_vacanalyze(), and vacuum_xid_failsafe_check().
|
extern |
Definition at line 78 of file vacuum.c.
Referenced by do_autovacuum(), and vacuum_get_cutoffs().
|
extern |
Definition at line 79 of file vacuum.c.
Referenced by do_autovacuum(), and vacuum_get_cutoffs().
|
extern |
Definition at line 84 of file vacuum.c.
Referenced by default_reloptions(), and vacuum_rel().
|
extern |
Definition at line 118 of file vacuum.c.
Referenced by compute_parallel_delay(), parallel_vacuum_main(), parallel_vacuum_process_all_indexes(), parallel_vacuum_process_safe_indexes(), parallel_vacuum_process_unsafe_indexes(), and vacuum().
|
extern |
Definition at line 119 of file vacuum.c.
Referenced by compute_parallel_delay(), parallel_vacuum_main(), parallel_vacuum_process_all_indexes(), and vacuum().
|
extern |
Definition at line 111 of file vacuum.c.
Referenced by heap_vacuum_rel(), lazy_check_wraparound_failsafe(), lazy_vacuum(), lazy_vacuum_all_indexes(), should_attempt_truncation(), vacuum(), and VacuumUpdateCosts().
|
extern |
Definition at line 117 of file vacuum.c.
Referenced by compute_parallel_delay(), parallel_vacuum_main(), parallel_vacuum_process_all_indexes(), vacuum(), and vacuum_delay_point().