Re: Patch: VACUUM should ignore (CREATE |RE)INDEX CONCURRENTLY for xmin horizon calculations
Peter Geoghegan <pg@bowt.ie>
From: Peter Geoghegan <pg@bowt.ie>
To: Hannu Krosing <hannuk@google.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Dilip Kumar <dilipkumarb@google.com>
Date: 2025-11-24T22:09:05Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Revert changes to CONCURRENTLY that "sped up" Xmin advance
- e28bb8851969 15.0 cited
-
VACUUM: ignore indexing operations with CONCURRENTLY
- d9d076222f5b 14.0 cited
On Mon, Nov 24, 2025 at 4:18 PM Hannu Krosing <hannuk@google.com> wrote: > When VACUUM decides which rows are safe to freeze or permanently > remove it currently ignores backends which have PROC_IN_VACUUM or > PROC_IN_LOGICAL_DECODING bits set. > > This patch adds PROC_IN_SAFE_IC to this set, so backends running > CREATE INDEX CONCURRENTLY or REINDEX CONCURRENTLY and where the index > is "simple" - i.e. not expression indexes or conditional indexes are > involved - these would be ignored too. Are you aware of commit d9d076222f5b? It was subsequently reverted by commit e28bb885 because it led to subtle data corruption. Indexes had wrong contents due to an unforeseen interaction with pruning. -- Peter Geoghegan