| From: | Michael Paquier <michael(at)paquier(dot)xyz> |
|---|---|
| To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
| Subject: | pgsql: Report per-index vacuum progress in pg_stat_progress_vacuum |
| Date: | 2026-10-01 22:31:05 |
| Message-ID: | E1xCPIv-000000023Lx-1nWV@gemulon.postgresql.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-committers |
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 <bharath(dot)rupireddyforpostgres(at)gmail(dot)com>
Reviewed-by: Sami Imseih <samimseih(at)gmail(dot)com>
Reviewed-by: Michael Paquier <michael(at)paquier(dot)xyz>
Reviewed-by: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
Reviewed-by: Shihao Zhong <zhong950419(at)gmail(dot)com>
Discussion: https://postgr.es/m/CALj2ACUgwSchK6jQ2CdKLBWUADTOE_zKdTff2Zg3E6hOuXKv-w@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(-)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Michael Paquier | 2026-10-02 01:47:59 | pgsql: Fix crash when describing a FETCH statement whose cursor is gone |
| Previous Message | Masahiko Sawada | 2026-10-01 13:20:37 | pgsql: Refresh autovacuum costs while waiting for parallel workers. |