PostgreSQL Source Code git master
Loading...
Searching...
No Matches
autovacuum.h
Go to the documentation of this file.
1/*-------------------------------------------------------------------------
2 *
3 * autovacuum.h
4 * header file for integrated autovacuum daemon
5 *
6 *
7 * Portions Copyright (c) 1996-2026, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
9 *
10 * src/include/postmaster/autovacuum.h
11 *
12 *-------------------------------------------------------------------------
13 */
14#ifndef AUTOVACUUM_H
15#define AUTOVACUUM_H
16
17#include "storage/block.h"
18
19/*
20 * Other processes can request specific work from autovacuum, identified by
21 * AutoVacuumWorkItem elements.
22 */
27
28
29/* GUC variables */
46
49
50/* Status inquiry functions */
51extern bool AutoVacuumingActive(void);
52
53/* called from postmaster at server startup */
54extern void autovac_init(void);
55
56/* called from postmaster when a worker could not be forked */
57extern void AutoVacWorkerFailed(void);
58
59pg_noreturn extern void AutoVacLauncherMain(const void *startup_data, size_t startup_data_len);
60pg_noreturn extern void AutoVacWorkerMain(const void *startup_data, size_t startup_data_len);
61
64
65/* shared memory stuff */
66extern Size AutoVacuumShmemSize(void);
67extern void AutoVacuumShmemInit(void);
68
69#endif /* AUTOVACUUM_H */
AutoVacuumWorkItemType
Definition autovacuum.h:24
@ AVW_BRINSummarizeRange
Definition autovacuum.h:25
PGDLLIMPORT double autovacuum_vac_scale
Definition autovacuum.c:124
PGDLLIMPORT int autovacuum_worker_slots
Definition autovacuum.c:118
PGDLLIMPORT int autovacuum_anl_thresh
Definition autovacuum.c:127
PGDLLIMPORT int autovacuum_vac_thresh
Definition autovacuum.c:122
PGDLLIMPORT int autovacuum_vac_max_thresh
Definition autovacuum.c:123
PGDLLIMPORT int autovacuum_vac_ins_thresh
Definition autovacuum.c:125
PGDLLIMPORT int autovacuum_vac_cost_limit
Definition autovacuum.c:133
Size AutoVacuumShmemSize(void)
void AutoVacuumShmemInit(void)
PGDLLIMPORT double autovacuum_anl_scale
Definition autovacuum.c:128
pg_noreturn void AutoVacLauncherMain(const void *startup_data, size_t startup_data_len)
Definition autovacuum.c:375
bool AutoVacuumRequestWork(AutoVacuumWorkItemType type, Oid relationId, BlockNumber blkno)
bool AutoVacuumingActive(void)
PGDLLIMPORT double autovacuum_vac_ins_scale
Definition autovacuum.c:126
PGDLLIMPORT int autovacuum_work_mem
Definition autovacuum.c:120
PGDLLIMPORT int autovacuum_freeze_max_age
Definition autovacuum.c:129
PGDLLIMPORT int autovacuum_naptime
Definition autovacuum.c:121
PGDLLIMPORT double autovacuum_vac_cost_delay
Definition autovacuum.c:132
pg_noreturn void AutoVacWorkerMain(const void *startup_data, size_t startup_data_len)
void AutoVacWorkerFailed(void)
PGDLLIMPORT int Log_autoanalyze_min_duration
Definition autovacuum.c:136
void autovac_init(void)
PGDLLIMPORT bool autovacuum_start_daemon
Definition autovacuum.c:117
PGDLLIMPORT int autovacuum_max_workers
Definition autovacuum.c:119
PGDLLIMPORT int Log_autovacuum_min_duration
Definition autovacuum.c:135
PGDLLIMPORT int autovacuum_multixact_freeze_max_age
Definition autovacuum.c:130
uint32 BlockNumber
Definition block.h:31
#define PGDLLIMPORT
Definition c.h:1328
#define pg_noreturn
Definition c.h:164
size_t Size
Definition c.h:619
unsigned int Oid
static int fb(int x)
const char * type