| From: | Hannu Krosing <hannuk(at)google(dot)com> |
|---|---|
| To: | Peter Geoghegan <pg(at)bowt(dot)ie> |
| Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Dilip Kumar <dilipkumarb(at)google(dot)com> |
| Subject: | Re: Patch: VACUUM should ignore (CREATE |RE)INDEX CONCURRENTLY for xmin horizon calculations |
| Date: | 2025-11-26 11:07:04 |
| Message-ID: | CAMT0RQSdpMy2qK3PeqE6F=OjLBvyAPQL-wpmX8nP97TUdayp=w@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
So what are the options for a clean fix ?
(the "Discussion:
https://postgr.es/m/17485-396609c6925b982d%40postgresql.org" link
gives 503 back so can't immediately check myself)
Do we also need to make sure that CIC will not miss hot-pruned tuples
? What is the exact mechanism for missing them ?
Or should we just try to have a separate frozen per-table Xmin to be
used by CIC ?
On Mon, Nov 24, 2025 at 11:09 PM Peter Geoghegan <pg(at)bowt(dot)ie> wrote:
>
> On Mon, Nov 24, 2025 at 4:18 PM Hannu Krosing <hannuk(at)google(dot)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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Dagfinn Ilmari Mannsåker | 2025-11-26 11:11:05 | Re: The pgperltidy diffs in HEAD |
| Previous Message | shveta malik | 2025-11-26 10:45:27 | Re: Proposal: Conflict log history table for Logical Replication |