Re: Pass heaprel to GlobalVisTestFor() in vacuumRedirectAndPlaceholder()

Поиск
Список
Период
Сортировка
От Peter Geoghegan
Тема Re: Pass heaprel to GlobalVisTestFor() in vacuumRedirectAndPlaceholder()
Дата
Msg-id CAH2-WznG=TV6S9d3VA=y0vBHbXwnLs9_LLdiML=aNJuHeriwxg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Pass heaprel to GlobalVisTestFor() in vacuumRedirectAndPlaceholder()  (Andres Freund <andres@anarazel.de>)
Ответы Re: Pass heaprel to GlobalVisTestFor() in vacuumRedirectAndPlaceholder()
Список pgsql-hackers
On Sun, Apr 2, 2023 at 3:30 PM Andres Freund <andres@anarazel.de> wrote:
> > Actually, I suppose that isn't quite true, since you'd still need to
> > find a way to pass the heap relation down to nbtree VACUUM. Say by
> > adding it to IndexVacuumInfo.
>
> It has been added to that already, so it should really be as trivial as you
> suggested earlier...

Oh yeah, I missed it because you put it at the end of the struct,
rather than at the start, next to the existing Relation.

This page deletion issue matters a lot more after the Postgres 14
optimization added by commit e5d8a99903, which came after your
GlobalVisCheckRemovableFullXid() snapshot scalability work (well, a
few months after, at least). I really don't like the idea of something
like that being much less effective due to logical decoding. Granted,
the optimization in commit e5d8a99903 was itself kind of a hack, which
should be replaced by a scheme that explicitly makes recycle safety
the responsibility of the FSM itself, not the responsibility of
VACUUM.

--
Peter Geoghegan



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: hio.c does visibilitymap_pin()/IO while holding buffer lock
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Infinite Interval