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 <[email protected]> Author: Chao Li <[email protected]> Reviewed-by: Fujii Masao <[email protected]> Reviewed-by: Zsolt Parragi <[email protected]> Discussion: https://postgr.es/m/CAN4CZFMzy2V_wvRCBW5K8=wVCk1-C7nq=8otXO=u+s_1kzh...@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(-)
