PostgreSQL Source Code: src/include/postmaster/autovacuum.h Source File

PostgreSQL Source Code git master
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-2025, 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 */
23 typedef enum
24{
25 AVW_BRINSummarizeRange,
26} AutoVacuumWorkItemType;
27
28
29/* GUC variables */
30extern PGDLLIMPORT bool autovacuum_start_daemon;
31extern PGDLLIMPORT int autovacuum_worker_slots;
32extern PGDLLIMPORT int autovacuum_max_workers;
33extern PGDLLIMPORT int autovacuum_work_mem;
34extern PGDLLIMPORT int autovacuum_naptime;
35extern PGDLLIMPORT int autovacuum_vac_thresh;
36extern PGDLLIMPORT int autovacuum_vac_max_thresh;
37extern PGDLLIMPORT double autovacuum_vac_scale;
38extern PGDLLIMPORT int autovacuum_vac_ins_thresh;
39extern PGDLLIMPORT double autovacuum_vac_ins_scale;
40extern PGDLLIMPORT int autovacuum_anl_thresh;
41extern PGDLLIMPORT double autovacuum_anl_scale;
42extern PGDLLIMPORT int autovacuum_freeze_max_age;
43extern PGDLLIMPORT int autovacuum_multixact_freeze_max_age;
44extern PGDLLIMPORT double autovacuum_vac_cost_delay;
45extern PGDLLIMPORT int autovacuum_vac_cost_limit;
46
47/* autovacuum launcher PID, only valid when worker is shutting down */
48extern PGDLLIMPORT int AutovacuumLauncherPid;
49
50extern PGDLLIMPORT int Log_autovacuum_min_duration;
51
52/* Status inquiry functions */
53extern bool AutoVacuumingActive(void);
54
55/* called from postmaster at server startup */
56extern void autovac_init(void);
57
58/* called from postmaster when a worker could not be forked */
59extern void AutoVacWorkerFailed(void);
60
61pg_noreturn extern void AutoVacLauncherMain(const void *startup_data, size_t startup_data_len);
62pg_noreturn extern void AutoVacWorkerMain(const void *startup_data, size_t startup_data_len);
63
64extern bool AutoVacuumRequestWork(AutoVacuumWorkItemType type,
65 Oid relationId, BlockNumber blkno);
66
67/* shared memory stuff */
68extern Size AutoVacuumShmemSize(void);
69extern void AutoVacuumShmemInit(void);
70
71#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)
Definition: autovacuum.c:3379
void AutoVacuumShmemInit(void)
Definition: autovacuum.c:3398
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:377
bool AutoVacuumRequestWork(AutoVacuumWorkItemType type, Oid relationId, BlockNumber blkno)
Definition: autovacuum.c:3320
bool AutoVacuumingActive(void)
Definition: autovacuum.c:3308
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)
Definition: autovacuum.c:1389
void AutoVacWorkerFailed(void)
Definition: autovacuum.c:1367
PGDLLIMPORT int AutovacuumLauncherPid
Definition: autovacuum.c:326
void autovac_init(void)
Definition: autovacuum.c:3362
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:1319
#define pg_noreturn
Definition: c.h:164
size_t Size
Definition: c.h:610
unsigned int Oid
Definition: postgres_ext.h:32
const char * type

AltStyle によって変換されたページ (->オリジナル) /