Report per-index vacuum progress in pg_stat_progress_vacuum pg_stat_progress_vacuum gains three fields, reflecting some activity related to index cleanups during VACUUM, which is a phase that could take a long time depending on the quantity of data to treat and the number of indexes: - current_index_relid, the index being processed. - index_blks_total, total number of blocks to process. - index_blks_done, number of blocks already processed.
There fields are new, and do not reuse the existing fields related to heap as index cleanups may need multiple passes, where knowing both the heap activity and the index activity could be relevant. This is unlikely since tids are accumulated in the heap scanning phase using an optimized radix tree, still possible. VACUUM can spawn parallel workers to clean indexes (each worker cleans a different index); these should up in the progress view in the shape of one extra row for each worker. Bump catalog version. Author: Bharath Rupireddy <[email protected]> Reviewed-by: Sami Imseih <[email protected]> Reviewed-by: Michael Paquier <[email protected]> Reviewed-by: Masahiko Sawada <[email protected]> Reviewed-by: Shihao Zhong <[email protected]> Discussion: https://postgr.es/m/calj2acugwschk6jq2cdklbwuadtoe_zkdtff2zg3e6houxk...@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/1378aa13430e264a990a18597e9d8fdae740927e Modified Files -------------- doc/src/sgml/monitoring.sgml | 57 +++++++++++++++++++++++++++++++++-- src/backend/access/heap/vacuumlazy.c | 28 +++++++++++++++-- src/backend/catalog/system_views.sql | 5 ++- src/backend/commands/vacuumparallel.c | 31 +++++++++++++++++-- src/include/catalog/catversion.h | 2 +- src/include/commands/progress.h | 2 ++ src/test/regress/expected/rules.out | 5 ++- 7 files changed, 120 insertions(+), 10 deletions(-)
