pgsql: Allow index_create to suppress index_build progress reporting

From: Álvaro Herrera <alvherre(at)kurilemu(dot)de>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Allow index_create to suppress index_build progress reporting
Date: 2026-04-05 11:34:38
Message-ID: E1w9LkT-0034QA-26@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Allow index_create to suppress index_build progress reporting

A future REPACK patch wants a way to suppress index_build doing its
progress reports when building an index, because that would interfere
with repack's own reporting; so add an INDEX_CREATE_SUPPRESS_PROGRESS
bit that enables this.

Furthermore, change the index_create_copy() API so that it takes flag
bits for index_create() and passes them unchanged. This gives its
callers more direct control, which eases the interface -- now its
callers can pass the INDEX_CREATE_SUPPRESS_PROGRESS bit directly. We
use it for the current caller in REINDEX CONCURRENTLY, since it's also
not interested in progress reporting, since it doesn't want
index_build() to be called at all in the first place.

One thing to keep in mind, pointed out by Mihail, is that we're not
suppressing the index-AM-specific progress report updates which happen
during ambuild(). At present this is not a problem, because the values
updated by those don't overlap with those used by commands other than
CREATE INDEX; but maybe in the future we'll want the ability to suppress
them also. (Alternatively we might want to display how each
index-build-subcommand progresses during REPACK and others.)

Author: Antonin Houska <ah(at)cybertec(dot)at>
Author: Álvaro Herrera <alvherre(at)kurilemu(dot)de>
Reviewed-by: Mihail Nikalayeu <mihailnikalayeu(at)gmail(dot)com>
Discussion: https://postgr.es/m/102906.1773668762@localhost

Branch
------
master

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

Modified Files
--------------
src/backend/bootstrap/bootstrap.c | 2 +-
src/backend/catalog/heap.c | 3 ++-
src/backend/catalog/index.c | 27 ++++++++++++++++-----------
src/backend/commands/indexcmds.c | 4 +++-
src/include/catalog/index.h | 6 ++++--
5 files changed, 26 insertions(+), 16 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Andrew Dunstan 2026-04-05 15:02:21 pgsql: Add pg_get_database_ddl() function
Previous Message Etsuro Fujita 2026-04-05 09:57:14 pgsql: postgres_fdw: Inherit the local transaction's access/deferrable