pgsql: Fail REPACK in presence of !indisready indexes

From: Álvaro Herrera <alvherre(at)kurilemu(dot)de>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fail REPACK in presence of !indisready indexes
Date: 2026-09-13 12:20:26
Message-ID: E1x5jC6-000000008nZ-3KlL@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fail REPACK in presence of !indisready indexes

Like VACUUM FULL, non-concurrent REPACK would try to rebuild such
indexes, which can sometimes succeed. Concurrent REPACK would however
fail. The inconsistency is not good, so make them both throw an error
quickly to force the user to make a decision on those indexes (most
likely, drop them).

Author: Álvaro Herrera <alvherre(at)kurilemu(dot)de>
Reported-by: Zsolt Parragi <zsolt(dot)parragi(at)percona(dot)com>
Suggested-by: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
Discussion: https://postgr.es/m/CAN4CZFO5A3YE0Dd-bn7eKrB20pECO3=U0wKg1z2rO=DxgWJJHQ@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/0c5d6269614e107d1d2d669f82f63f7e232b30c9

Modified Files
--------------
contrib/test_decoding/expected/repack.out | 16 +++++++
contrib/test_decoding/sql/repack.sql | 8 ++++
src/backend/commands/repack.c | 71 +++++++++++++++++++++++++++++++
3 files changed, 95 insertions(+)

Browse pgsql-committers by date

  From Date Subject
Next Message Andrew Dunstan 2026-09-13 18:27:53 pgsql: Revert pg_get_role_ddl(), pg_get_tablespace_ddl(), and pg_get_da
Previous Message Alexander Korotkov 2026-09-12 20:30:50 pgsql: Prevent WAIT FOR LSN from deadlocking recovery on held locks