summaryrefslogtreecommitdiff
path: root/src/backend/catalog
diff options
context:
space:
mode:
authorMasahiko Sawada <msawada@postgresql.org>2025-12-09 10:51:14 -0800
committerMasahiko Sawada <msawada@postgresql.org>2025-12-09 10:51:14 -0800
commit0d789520619803cf6629ebf980e116d733b6756f (patch)
tree0778a004c5a2655a04ec53815227c1e0bfae79c4 /src/backend/catalog
parentb237f5422bc0667754f986f9d5bfc34a13401bc1 (diff)
Add mode and started_by columns to pg_stat_progress_vacuum view.
The new columns, mode and started_by, indicate the vacuum mode ('normal', 'aggressive', or 'failsafe') and the initiator of the vacuum ('manual', 'autovacuum', or 'autovacuum_wraparound'), respectively. This allows users and monitoring tools to better understand VACUUM behavior. Bump catalog version. Author: Shinya Kato <shinya11.kato@gmail.com> Reviewed-by: Kirill Reshke <reshkekirill@gmail.com> Reviewed-by: Nathan Bossart <nathandbossart@gmail.com> Reviewed-by: Robert Treat <rob@xzilla.net> Reviewed-by: Masahiko Sawada <sawada.mshk@gmail.com> Reviewed-by: Sami Imseih <samimseih@gmail.com> Reviewed-by: Michael Paquier <michael@paquier.xyz> Reviewed-by: Yu Wang <wangyu_runtime@163.com> Discussion: https://postgr.es/m/CAOzEurQcOY-OBL_ouEVfEaFqe_md3vB5pXjR_m6L71Dcp1JKCQ@mail.gmail.com
Diffstat (limited to 'src/backend/catalog')
-rw-r--r--src/backend/catalog/system_views.sql10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/backend/catalog/system_views.sql b/src/backend/catalog/system_views.sql
index 48af8ee90a6..e929c3547d5 100644
--- a/src/backend/catalog/system_views.sql
+++ b/src/backend/catalog/system_views.sql
@@ -1268,7 +1268,15 @@ CREATE VIEW pg_stat_progress_vacuum AS
S.param6 AS max_dead_tuple_bytes, S.param7 AS dead_tuple_bytes,
S.param8 AS num_dead_item_ids, S.param9 AS indexes_total,
S.param10 AS indexes_processed,
- S.param11 / 1000000::double precision AS delay_time
+ S.param11 / 1000000::double precision AS delay_time,
+ CASE S.param12 WHEN 1 THEN 'normal'
+ WHEN 2 THEN 'aggressive'
+ WHEN 3 THEN 'failsafe'
+ ELSE NULL END AS mode,
+ CASE S.param13 WHEN 1 THEN 'manual'
+ WHEN 2 THEN 'autovacuum'
+ WHEN 3 THEN 'autovacuum_wraparound'
+ ELSE NULL END AS started_by
FROM pg_stat_get_progress_info('VACUUM') AS S
LEFT JOIN pg_database D ON S.datid = D.oid;