pgsql: Suppress progress reporting when creating TOAST indexes

From: Fujii Masao <fujii(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Suppress progress reporting when creating TOAST indexes
Date: 2026-09-16 09:40:17
Message-ID: E1x6m7l-00000000ZFa-14il@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Suppress progress reporting when creating TOAST indexes

Previously, when REPACK, CLUSTER, or VACUUM FULL created a transient TOAST
table, index_rebuild_count in pg_stat_progress_repack and
pg_stat_progress_cluster reported 2 before any indexes on the main table
had been rebuilt. This could mislead users monitoring the operation.

This happened because creating the TOAST index writes the CREATE INDEX phase
to the same progress slot used for the index rebuild count of the enclosing
command.

Fix this by passing INDEX_CREATE_SUPPRESS_PROGRESS when creating a TOAST
index, preserving the progress information of the enclosing command and
keeping the count at zero until the main-table indexes are rebuilt.

Author: Adam Lee <adam8157(at)gmail(dot)com>
Reviewed-by: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
Reviewed-by: Álvaro Herrera <alvherre(at)kurilemu(dot)de>
Discussion: https://postgr.es/m/aj4gJQMba0kClQmj@Mac
Backpatch-through: 19

Branch
------
REL_19_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/8a1b5b3d43883454d3438674eaca71184f7e6dec

Modified Files
--------------
src/backend/catalog/toasting.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Alexander Korotkov 2026-09-16 10:09:46 pgsql: Use the join collation when unique-ifying a semijoin's RHS
Previous Message Fujii Masao 2026-09-16 09:40:03 pgsql: Suppress progress reporting when creating TOAST indexes