Thanks to visit codestin.com
Credit goes to doxygen.postgresql.org
PostgreSQL Source Code
git master
vacuuming.h
Go to the documentation of this file.
1
/*-------------------------------------------------------------------------
2
*
3
* vacuuming.h
4
* Common declarations for vacuuming.c
5
*
6
* Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
7
* Portions Copyright (c) 1994, Regents of the University of California
8
*
9
* src/bin/scripts/vacuuming.h
10
*
11
*-------------------------------------------------------------------------
12
*/
13
#ifndef VACUUMING_H
14
#define VACUUMING_H
15
16
#include "
common.h
"
17
#include "
fe_utils/connect_utils.h
"
18
#include "
fe_utils/simple_list.h
"
19
20
typedef
enum
21
{
22
MODE_VACUUM
,
23
MODE_ANALYZE
,
24
MODE_ANALYZE_IN_STAGES
25
}
RunMode
;
26
27
/* For analyze-in-stages mode */
28
#define ANALYZE_NO_STAGE -1
29
#define ANALYZE_NUM_STAGES 3
30
31
/* vacuum options controlled by user flags */
32
typedef
struct
vacuumingOptions
33
{
34
RunMode
mode
;
35
bits32
objfilter
;
36
bool
verbose
;
37
bool
and_analyze
;
38
bool
full
;
39
bool
freeze
;
40
bool
disable_page_skipping
;
41
bool
skip_locked
;
42
int
min_xid_age
;
43
int
min_mxid_age
;
44
int
parallel_workers
;
/* >= 0 indicates user specified the
45
* parallel degree, otherwise -1 */
46
bool
no_index_cleanup
;
47
bool
force_index_cleanup
;
48
bool
do_truncate
;
49
bool
process_main
;
50
bool
process_toast
;
51
bool
skip_database_stats
;
52
char
*
buffer_usage_limit
;
53
bool
missing_stats_only
;
54
}
vacuumingOptions
;
55
56
/* Valid values for vacuumingOptions->objfilter */
57
#define OBJFILTER_ALL_DBS 0x01
/* --all */
58
#define OBJFILTER_DATABASE 0x02
/* --dbname */
59
#define OBJFILTER_TABLE 0x04
/* --table */
60
#define OBJFILTER_SCHEMA 0x08
/* --schema */
61
#define OBJFILTER_SCHEMA_EXCLUDE 0x10
/* --exclude-schema */
62
63
extern
int
vacuuming_main
(
ConnParams
*cparams,
const
char
*
dbname
,
64
const
char
*maintenance_db,
vacuumingOptions
*vacopts,
65
SimpleStringList
*objects,
66
unsigned
int
tbl_count,
67
int
concurrentCons,
68
const
char
*
progname
,
bool
echo,
bool
quiet);
69
70
extern
char
*
escape_quotes
(
const
char
*src);
71
72
#endif
/* VACUUMING_H */
bits32
uint32 bits32
Definition:
c.h:547
connect_utils.h
progname
const char * progname
Definition:
main.c:44
common.h
simple_list.h
dbname
char * dbname
Definition:
streamutil.c:49
SimpleStringList
Definition:
simple_list.h:41
_connParams
Definition:
pg_backup.h:84
vacuumingOptions
Definition:
vacuuming.h:33
vacuumingOptions::force_index_cleanup
bool force_index_cleanup
Definition:
vacuuming.h:47
vacuumingOptions::mode
RunMode mode
Definition:
vacuuming.h:34
vacuumingOptions::no_index_cleanup
bool no_index_cleanup
Definition:
vacuuming.h:46
vacuumingOptions::objfilter
bits32 objfilter
Definition:
vacuuming.h:35
vacuumingOptions::min_xid_age
int min_xid_age
Definition:
vacuuming.h:42
vacuumingOptions::parallel_workers
int parallel_workers
Definition:
vacuuming.h:44
vacuumingOptions::disable_page_skipping
bool disable_page_skipping
Definition:
vacuuming.h:40
vacuumingOptions::min_mxid_age
int min_mxid_age
Definition:
vacuuming.h:43
vacuumingOptions::skip_locked
bool skip_locked
Definition:
vacuuming.h:41
vacuumingOptions::process_toast
bool process_toast
Definition:
vacuuming.h:50
vacuumingOptions::buffer_usage_limit
char * buffer_usage_limit
Definition:
vacuuming.h:52
vacuumingOptions::do_truncate
bool do_truncate
Definition:
vacuuming.h:48
vacuumingOptions::process_main
bool process_main
Definition:
vacuuming.h:49
vacuumingOptions::verbose
bool verbose
Definition:
vacuuming.h:36
vacuumingOptions::missing_stats_only
bool missing_stats_only
Definition:
vacuuming.h:53
vacuumingOptions::full
bool full
Definition:
vacuuming.h:38
vacuumingOptions::freeze
bool freeze
Definition:
vacuuming.h:39
vacuumingOptions::skip_database_stats
bool skip_database_stats
Definition:
vacuuming.h:51
vacuumingOptions::and_analyze
bool and_analyze
Definition:
vacuuming.h:37
escape_quotes
char * escape_quotes(const char *src)
Definition:
vacuuming.c:997
RunMode
RunMode
Definition:
vacuuming.h:21
MODE_ANALYZE
@ MODE_ANALYZE
Definition:
vacuuming.h:23
MODE_VACUUM
@ MODE_VACUUM
Definition:
vacuuming.h:22
MODE_ANALYZE_IN_STAGES
@ MODE_ANALYZE_IN_STAGES
Definition:
vacuuming.h:24
vacuumingOptions
struct vacuumingOptions vacuumingOptions
vacuuming_main
int vacuuming_main(ConnParams *cparams, const char *dbname, const char *maintenance_db, vacuumingOptions *vacopts, SimpleStringList *objects, unsigned int tbl_count, int concurrentCons, const char *progname, bool echo, bool quiet)
Definition:
vacuuming.c:54
src
bin
scripts
vacuuming.h
Generated on Wed Oct 1 2025 18:13:16 for PostgreSQL Source Code by
1.9.4