pgsql: Fix REPACK command reporting in pg_stat_progress_cluster

From: Fujii Masao <fujii(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix REPACK command reporting in pg_stat_progress_cluster
Date: 2026-09-10 02:56:05
Message-ID: E1x4UxI-00000004Dkb-3Vdm@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix REPACK command reporting in pg_stat_progress_cluster

pg_stat_progress_cluster translates REPACK into VACUUM FULL when
pg_stat_progress_repack.repack_index_relid is zero, and into CLUSTER
otherwise.

Previously, repack_index_relid was set only when an index scan was used.
When REPACK used a sequential scan and sort to order the table by an index,
the field remained zero even though index ordering had been requested. As a
result, pg_stat_progress_cluster incorrectly reported the command as
VACUUM FULL instead of CLUSTER.

Fix this by setting repack_index_relid to the OID of the requested ordering
index when progress reporting starts, regardless of the scan method. This
allows pg_stat_progress_cluster to correctly report REPACK as CLUSTER when
index ordering is requested.

Also update the documentation to clarify the meaning of the index columns
and how REPACK is translated into CLUSTER or VACUUM FULL.

Suggested-by: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
Author: Chao Li <lic(at)highgo(dot)com>
Reviewed-by: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
Reviewed-by: Zsolt Parragi <zsolt(dot)parragi(at)percona(dot)com>
Discussion: https://postgr.es/m/CAN4CZFMzy2V_wvRCBW5K8=wVCk1-C7nq=8otXO=u+s_1KZHqyA@mail.gmail.com
Backpatch-through: 19

Branch
------
REL_19_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/e418e8eb92aa1dccca18b297a85c7ff38a7ee2a0

Modified Files
--------------
doc/src/sgml/monitoring.sgml | 13 +++++++------
src/backend/access/heap/heapam_handler.c | 12 ++----------
src/backend/commands/repack.c | 8 +++++++-
3 files changed, 16 insertions(+), 17 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Jeff Davis 2026-09-10 03:44:01 pgsql: Fix pg_iswcased().
Previous Message Fujii Masao 2026-09-10 02:55:51 pgsql: Fix REPACK command reporting in pg_stat_progress_cluster