OSDN Git Service

rebuid:
[eos/hostdependX86MAC64.git] / util / X86MAC64 / include / postgresql / server / postmaster / autovacuum.h
1 /*-------------------------------------------------------------------------
2  *
3  * autovacuum.h
4  *        header file for integrated autovacuum daemon
5  *
6  *
7  * Portions Copyright (c) 1996-2014, 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
18 /* GUC variables */
19 extern bool autovacuum_start_daemon;
20 extern int      autovacuum_max_workers;
21 extern int      autovacuum_work_mem;
22 extern int      autovacuum_naptime;
23 extern int      autovacuum_vac_thresh;
24 extern double autovacuum_vac_scale;
25 extern int      autovacuum_anl_thresh;
26 extern double autovacuum_anl_scale;
27 extern int      autovacuum_freeze_max_age;
28 extern int      autovacuum_multixact_freeze_max_age;
29 extern int      autovacuum_vac_cost_delay;
30 extern int      autovacuum_vac_cost_limit;
31
32 /* autovacuum launcher PID, only valid when worker is shutting down */
33 extern int      AutovacuumLauncherPid;
34
35 extern int      Log_autovacuum_min_duration;
36
37 /* Status inquiry functions */
38 extern bool AutoVacuumingActive(void);
39 extern bool IsAutoVacuumLauncherProcess(void);
40 extern bool IsAutoVacuumWorkerProcess(void);
41
42 #define IsAnyAutoVacuumProcess() \
43         (IsAutoVacuumLauncherProcess() || IsAutoVacuumWorkerProcess())
44
45 /* Functions to start autovacuum process, called from postmaster */
46 extern void autovac_init(void);
47 extern int      StartAutoVacLauncher(void);
48 extern int      StartAutoVacWorker(void);
49
50 /* called from postmaster when a worker could not be forked */
51 extern void AutoVacWorkerFailed(void);
52
53 /* autovacuum cost-delay balancer */
54 extern void AutoVacuumUpdateDelay(void);
55
56 #ifdef EXEC_BACKEND
57 extern void AutoVacLauncherMain(int argc, char *argv[]) __attribute__((noreturn));
58 extern void AutoVacWorkerMain(int argc, char *argv[]) __attribute__((noreturn));
59 extern void AutovacuumWorkerIAm(void);
60 extern void AutovacuumLauncherIAm(void);
61 #endif
62
63 /* shared memory stuff */
64 extern Size AutoVacuumShmemSize(void);
65 extern void AutoVacuumShmemInit(void);
66
67 #endif   /* AUTOVACUUM_H */