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

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Peter Geoghegan <pg@bowt.ie>
Cc: "Drouvot, Bertrand" <bertranddrouvot.pg@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-04-02T22:30:55Z
Lists: pgsql-hackers
Hi,

On 2023-04-02 10:22:18 -0700, Peter Geoghegan wrote:
> On Sun, Apr 2, 2023 at 10:18 AM Peter Geoghegan <pg@bowt.ie> wrote:
> > Making nbtree page deletion more efficient when logical decoding is in
> > use seems well worthwhile. There is an "XXX" comment about this issue,
> > similar to the SP-GiST one. It looks like you already have everything
> > you need to make this work from yesterday's commit 61b313e47e.

+1


> 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...

Greetings,

Andres Freund



Commits

  1. Make SP-GiST redirect cleanup more aggressive.

  2. Recycle deleted nbtree pages more aggressively.

  3. Move heaprel struct field next to index rel field.

  4. Pass down table relation into more index relation functions

  5. Use full 64-bit XIDs in deleted nbtree pages.