PostgreSQL Source Code
git master
Toggle main menu visibility
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
a
c
d
g
h
i
k
l
m
p
r
s
t
Functions
Variables
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
Data Fields
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
c
d
f
h
i
n
o
p
r
s
t
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
Files
File List
Globals
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
progress.h
Go to the documentation of this file.
1
/*-------------------------------------------------------------------------
2
*
3
* progress.h
4
* Constants used with the progress reporting facilities defined in
5
* backend_status.h. These are possibly interesting to extensions, so we
6
* expose them via this header file. Note that if you update these
7
* constants, you probably also need to update the views based on them
8
* in system_views.sql.
9
*
10
* Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
11
* Portions Copyright (c) 1994, Regents of the University of California
12
*
13
* src/include/commands/progress.h
14
*
15
*-------------------------------------------------------------------------
16
*/
17
#ifndef PROGRESS_H
18
#define PROGRESS_H
19
20
/* Progress parameters for (lazy) vacuum */
21
#define PROGRESS_VACUUM_PHASE 0
22
#define PROGRESS_VACUUM_TOTAL_HEAP_BLKS 1
23
#define PROGRESS_VACUUM_HEAP_BLKS_SCANNED 2
24
#define PROGRESS_VACUUM_HEAP_BLKS_VACUUMED 3
25
#define PROGRESS_VACUUM_NUM_INDEX_VACUUMS 4
26
#define PROGRESS_VACUUM_MAX_DEAD_TUPLE_BYTES 5
27
#define PROGRESS_VACUUM_DEAD_TUPLE_BYTES 6
28
#define PROGRESS_VACUUM_NUM_DEAD_ITEM_IDS 7
29
#define PROGRESS_VACUUM_INDEXES_TOTAL 8
30
#define PROGRESS_VACUUM_INDEXES_PROCESSED 9
31
#define PROGRESS_VACUUM_DELAY_TIME 10
32
33
/* Phases of vacuum (as advertised via PROGRESS_VACUUM_PHASE) */
34
#define PROGRESS_VACUUM_PHASE_SCAN_HEAP 1
35
#define PROGRESS_VACUUM_PHASE_VACUUM_INDEX 2
36
#define PROGRESS_VACUUM_PHASE_VACUUM_HEAP 3
37
#define PROGRESS_VACUUM_PHASE_INDEX_CLEANUP 4
38
#define PROGRESS_VACUUM_PHASE_TRUNCATE 5
39
#define PROGRESS_VACUUM_PHASE_FINAL_CLEANUP 6
40
41
/* Progress parameters for analyze */
42
#define PROGRESS_ANALYZE_PHASE 0
43
#define PROGRESS_ANALYZE_BLOCKS_TOTAL 1
44
#define PROGRESS_ANALYZE_BLOCKS_DONE 2
45
#define PROGRESS_ANALYZE_EXT_STATS_TOTAL 3
46
#define PROGRESS_ANALYZE_EXT_STATS_COMPUTED 4
47
#define PROGRESS_ANALYZE_CHILD_TABLES_TOTAL 5
48
#define PROGRESS_ANALYZE_CHILD_TABLES_DONE 6
49
#define PROGRESS_ANALYZE_CURRENT_CHILD_TABLE_RELID 7
50
#define PROGRESS_ANALYZE_DELAY_TIME 8
51
52
/* Phases of analyze (as advertised via PROGRESS_ANALYZE_PHASE) */
53
#define PROGRESS_ANALYZE_PHASE_ACQUIRE_SAMPLE_ROWS 1
54
#define PROGRESS_ANALYZE_PHASE_ACQUIRE_SAMPLE_ROWS_INH 2
55
#define PROGRESS_ANALYZE_PHASE_COMPUTE_STATS 3
56
#define PROGRESS_ANALYZE_PHASE_COMPUTE_EXT_STATS 4
57
#define PROGRESS_ANALYZE_PHASE_FINALIZE_ANALYZE 5
58
59
/* Progress parameters for cluster */
60
#define PROGRESS_CLUSTER_COMMAND 0
61
#define PROGRESS_CLUSTER_PHASE 1
62
#define PROGRESS_CLUSTER_INDEX_RELID 2
63
#define PROGRESS_CLUSTER_HEAP_TUPLES_SCANNED 3
64
#define PROGRESS_CLUSTER_HEAP_TUPLES_WRITTEN 4
65
#define PROGRESS_CLUSTER_TOTAL_HEAP_BLKS 5
66
#define PROGRESS_CLUSTER_HEAP_BLKS_SCANNED 6
67
#define PROGRESS_CLUSTER_INDEX_REBUILD_COUNT 7
68
69
/* Phases of cluster (as advertised via PROGRESS_CLUSTER_PHASE) */
70
#define PROGRESS_CLUSTER_PHASE_SEQ_SCAN_HEAP 1
71
#define PROGRESS_CLUSTER_PHASE_INDEX_SCAN_HEAP 2
72
#define PROGRESS_CLUSTER_PHASE_SORT_TUPLES 3
73
#define PROGRESS_CLUSTER_PHASE_WRITE_NEW_HEAP 4
74
#define PROGRESS_CLUSTER_PHASE_SWAP_REL_FILES 5
75
#define PROGRESS_CLUSTER_PHASE_REBUILD_INDEX 6
76
#define PROGRESS_CLUSTER_PHASE_FINAL_CLEANUP 7
77
78
/* Commands of PROGRESS_CLUSTER */
79
#define PROGRESS_CLUSTER_COMMAND_CLUSTER 1
80
#define PROGRESS_CLUSTER_COMMAND_VACUUM_FULL 2
81
82
/* Progress parameters for CREATE INDEX */
83
/* 3, 4 and 5 reserved for "waitfor" metrics */
84
#define PROGRESS_CREATEIDX_COMMAND 0
85
#define PROGRESS_CREATEIDX_INDEX_OID 6
86
#define PROGRESS_CREATEIDX_ACCESS_METHOD_OID 8
87
#define PROGRESS_CREATEIDX_PHASE 9
/* AM-agnostic phase # */
88
#define PROGRESS_CREATEIDX_SUBPHASE 10
/* phase # filled by AM */
89
#define PROGRESS_CREATEIDX_TUPLES_TOTAL 11
90
#define PROGRESS_CREATEIDX_TUPLES_DONE 12
91
#define PROGRESS_CREATEIDX_PARTITIONS_TOTAL 13
92
#define PROGRESS_CREATEIDX_PARTITIONS_DONE 14
93
/* 15 and 16 reserved for "block number" metrics */
94
95
/* Phases of CREATE INDEX (as advertised via PROGRESS_CREATEIDX_PHASE) */
96
#define PROGRESS_CREATEIDX_PHASE_WAIT_1 1
97
#define PROGRESS_CREATEIDX_PHASE_BUILD 2
98
#define PROGRESS_CREATEIDX_PHASE_WAIT_2 3
99
#define PROGRESS_CREATEIDX_PHASE_VALIDATE_IDXSCAN 4
100
#define PROGRESS_CREATEIDX_PHASE_VALIDATE_SORT 5
101
#define PROGRESS_CREATEIDX_PHASE_VALIDATE_TABLESCAN 6
102
#define PROGRESS_CREATEIDX_PHASE_WAIT_3 7
103
#define PROGRESS_CREATEIDX_PHASE_WAIT_4 8
104
#define PROGRESS_CREATEIDX_PHASE_WAIT_5 9
105
106
/*
107
* Subphases of CREATE INDEX, for index_build.
108
*/
109
#define PROGRESS_CREATEIDX_SUBPHASE_INITIALIZE 1
110
/* Additional phases are defined by each AM */
111
112
/* Commands of PROGRESS_CREATEIDX */
113
#define PROGRESS_CREATEIDX_COMMAND_CREATE 1
114
#define PROGRESS_CREATEIDX_COMMAND_CREATE_CONCURRENTLY 2
115
#define PROGRESS_CREATEIDX_COMMAND_REINDEX 3
116
#define PROGRESS_CREATEIDX_COMMAND_REINDEX_CONCURRENTLY 4
117
118
/* Lock holder wait counts */
119
#define PROGRESS_WAITFOR_TOTAL 3
120
#define PROGRESS_WAITFOR_DONE 4
121
#define PROGRESS_WAITFOR_CURRENT_PID 5
122
123
/* Block numbers in a generic relation scan */
124
#define PROGRESS_SCAN_BLOCKS_TOTAL 15
125
#define PROGRESS_SCAN_BLOCKS_DONE 16
126
127
/* Progress parameters for pg_basebackup */
128
#define PROGRESS_BASEBACKUP_PHASE 0
129
#define PROGRESS_BASEBACKUP_BACKUP_TOTAL 1
130
#define PROGRESS_BASEBACKUP_BACKUP_STREAMED 2
131
#define PROGRESS_BASEBACKUP_TBLSPC_TOTAL 3
132
#define PROGRESS_BASEBACKUP_TBLSPC_STREAMED 4
133
134
/* Phases of pg_basebackup (as advertised via PROGRESS_BASEBACKUP_PHASE) */
135
#define PROGRESS_BASEBACKUP_PHASE_WAIT_CHECKPOINT 1
136
#define PROGRESS_BASEBACKUP_PHASE_ESTIMATE_BACKUP_SIZE 2
137
#define PROGRESS_BASEBACKUP_PHASE_STREAM_BACKUP 3
138
#define PROGRESS_BASEBACKUP_PHASE_WAIT_WAL_ARCHIVE 4
139
#define PROGRESS_BASEBACKUP_PHASE_TRANSFER_WAL 5
140
141
/* Progress parameters for PROGRESS_COPY */
142
#define PROGRESS_COPY_BYTES_PROCESSED 0
143
#define PROGRESS_COPY_BYTES_TOTAL 1
144
#define PROGRESS_COPY_TUPLES_PROCESSED 2
145
#define PROGRESS_COPY_TUPLES_EXCLUDED 3
146
#define PROGRESS_COPY_COMMAND 4
147
#define PROGRESS_COPY_TYPE 5
148
#define PROGRESS_COPY_TUPLES_SKIPPED 6
149
150
/* Commands of COPY (as advertised via PROGRESS_COPY_COMMAND) */
151
#define PROGRESS_COPY_COMMAND_FROM 1
152
#define PROGRESS_COPY_COMMAND_TO 2
153
154
/* Types of COPY commands (as advertised via PROGRESS_COPY_TYPE) */
155
#define PROGRESS_COPY_TYPE_FILE 1
156
#define PROGRESS_COPY_TYPE_PROGRAM 2
157
#define PROGRESS_COPY_TYPE_PIPE 3
158
#define PROGRESS_COPY_TYPE_CALLBACK 4
159
160
#endif
src
include
commands
progress.h
Generated on Fri May 2 2025 18:13:27 for PostgreSQL Source Code by
1.9.4