diff options
author | Robert Haas <rhaas@postgresql.org> | 2016-03-15 13:31:18 -0400 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2016-03-15 13:32:56 -0400 |
commit | c16dc1aca5e01e6acaadfcf38f5fc964a381dc62 (patch) | |
tree | 6fa736eac082c521a56151badea923c039ef806a /src/include/commands/progress.h | |
parent | 0e9b89986b7ced6daffdf14638a25a35c45423ff (diff) |
Add simple VACUUM progress reporting.
There's a lot more that could be done here yet - in particular, this
reports only very coarse-grained information about the index vacuuming
phase - but even as it stands, the new pg_stat_progress_vacuum can
tell you quite a bit about what a long-running vacuum is actually
doing.
Amit Langote and Robert Haas, based on earlier work by Vinayak Pokale
and Rahila Syed.
Diffstat (limited to 'src/include/commands/progress.h')
-rw-r--r-- | src/include/commands/progress.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/include/commands/progress.h b/src/include/commands/progress.h new file mode 100644 index 00000000000..c48d23be2b4 --- /dev/null +++ b/src/include/commands/progress.h @@ -0,0 +1,37 @@ +/*------------------------------------------------------------------------- + * + * progress.h + * Constants used with the progress reporting facilities defined in + * pgstat.h. These are possibly interesting to extensions, so we + * expose them via this header file. Note that if you update these + * constants, you probably also need to update the views based on them + * in system_views.sql. + * + * Portions Copyright (c) 1996-2016, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/commands/progress.h + * + *------------------------------------------------------------------------- + */ +#ifndef PROGRESS_H +#define PROGRESS_H + +/* Progress parameters for (lazy) vacuum */ +#define PROGRESS_VACUUM_PHASE 0 +#define PROGRESS_VACUUM_TOTAL_HEAP_BLKS 1 +#define PROGRESS_VACUUM_HEAP_BLKS_SCANNED 2 +#define PROGRESS_VACUUM_HEAP_BLKS_VACUUMED 3 +#define PROGRESS_VACUUM_NUM_INDEX_VACUUMS 4 +#define PROGRESS_VACUUM_MAX_DEAD_TUPLES 5 +#define PROGRESS_VACUUM_NUM_DEAD_TUPLES 6 + +/* Phases of vacuum (as advertised via PROGRESS_VACUUM_PHASE) */ +#define PROGRESS_VACUUM_PHASE_SCAN_HEAP 1 +#define PROGRESS_VACUUM_PHASE_VACUUM_INDEX 2 +#define PROGRESS_VACUUM_PHASE_VACUUM_HEAP 3 +#define PROGRESS_VACUUM_PHASE_INDEX_CLEANUP 4 +#define PROGRESS_VACUUM_PHASE_TRUNCATE 5 +#define PROGRESS_VACUUM_PHASE_FINAL_CLEANUP 6 + +#endif |