diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml index b5fe179d9ab..4d8295ab69d 100644 --- a/doc/src/sgml/monitoring.sgml +++ b/doc/src/sgml/monitoring.sgml @@ -6474,8 +6474,9 @@ FROM pg_stat_get_backend_idset() AS backendid; The command that is running. Either CLUSTER or VACUUM FULL. Because this view exists for backwards-compatibility purposes only, - it will translate any REPACK command into one of - these other two. + it will translate a REPACK command into + CLUSTER if index ordering is requested, + or VACUUM FULL otherwise. @@ -6493,8 +6494,8 @@ FROM pg_stat_get_backend_idset() AS backendid; cluster_index_relid oid - If the table is being scanned using an index, this is the OID of the - index being used; otherwise, it is zero. + OID of the index defining the order of the rewritten table, or zero + if no index ordering is requested. @@ -7167,8 +7168,8 @@ FROM pg_stat_get_backend_idset() AS backendid; repack_index_relid oid - If the table is being scanned using an index, this is the OID of the - index being used; otherwise, it is zero. + OID of the index defining the order of the rewritten table, or zero + if no index ordering is requested. diff --git a/src/backend/access/heap/heapam_handler.c b/src/backend/access/heap/heapam_handler.c index 2268cc277bc..b597f54e182 100644 --- a/src/backend/access/heap/heapam_handler.c +++ b/src/backend/access/heap/heapam_handler.c @@ -666,16 +666,8 @@ heapam_relation_copy_for_cluster(Relation OldHeap, Relation NewHeap, */ if (OldIndex != NULL && !use_sort) { - const int ci_index[] = { - PROGRESS_REPACK_PHASE, - PROGRESS_REPACK_INDEX_RELID - }; - int64 ci_val[2]; - - /* Set phase and OIDOldIndex to columns */ - ci_val[0] = PROGRESS_REPACK_PHASE_INDEX_SCAN_HEAP; - ci_val[1] = RelationGetRelid(OldIndex); - pgstat_progress_update_multi_param(2, ci_index, ci_val); + pgstat_progress_update_param(PROGRESS_REPACK_PHASE, + PROGRESS_REPACK_PHASE_INDEX_SCAN_HEAP); tableScan = NULL; heapScan = NULL; diff --git a/src/backend/commands/repack.c b/src/backend/commands/repack.c index 0533217968e..2924d884b10 100644 --- a/src/backend/commands/repack.c +++ b/src/backend/commands/repack.c @@ -511,6 +511,11 @@ cluster_rel(RepackCommand cmd, Relation OldHeap, Oid indexOid, bool recheck = ((params->options & CLUOPT_RECHECK) != 0); bool concurrent = ((params->options & CLUOPT_CONCURRENT) != 0); Oid ident_idx = InvalidOid; + const int progress_index[] = { + PROGRESS_REPACK_COMMAND, + PROGRESS_REPACK_INDEX_RELID + }; + const int64 progress_values[] = {cmd, indexOid}; /* Determine the lock mode to use. */ lmode = RepackLockLevel(concurrent); @@ -526,7 +531,8 @@ cluster_rel(RepackCommand cmd, Relation OldHeap, Oid indexOid, CHECK_FOR_INTERRUPTS(); pgstat_progress_start_command(PROGRESS_COMMAND_REPACK, tableOid); - pgstat_progress_update_param(PROGRESS_REPACK_COMMAND, cmd); + /* Report the ordering index even when using a sequential scan and sort. */ + pgstat_progress_update_multi_param(2, progress_index, progress_values); /* * Switch to the table owner's userid, so that any index functions are run