Re: Emit fewer vacuum records by reaping removable tuples during pruning

From: Melanie Plageman <melanieplageman(at)gmail(dot)com>
To: Peter Geoghegan <pg(at)bowt(dot)ie>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Michael Paquier <michael(at)paquier(dot)xyz>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>, Andres Freund <andres(at)anarazel(dot)de>
Subject: Re: Emit fewer vacuum records by reaping removable tuples during pruning
Date: 2024-01-12 18:52:14
Message-ID: CAAKRu_bzobqdD=xSLDmDSMXB-7rkf9pa4KpYQC64AO6WvQONrA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Jan 12, 2024 at 1:07 PM Peter Geoghegan <pg(at)bowt(dot)ie> wrote:
>
> On Fri, Jan 12, 2024 at 12:33 PM Melanie Plageman
> <melanieplageman(at)gmail(dot)com> wrote:
> > So, I think this is the logic in master:
> >
> > Prune case, first pass
> >
> > ...
> > - indexes > 0 && (!space_freed || !index_vacuuming) -> update FSM
>
> What is "space_freed"? Isn't that something from your uncommitted patch?

Yes, I was mixing the two together.

I just want to make sure that we agree that, on master, when
lazy_scan_prune() is called, the logic for whether or not to update
the FSM after the first pass is:

indexes == 0 || !has_lpdead_items || !index_vacuuming

and when lazy_scan_noprune() is called, the logic for whether or not
to update the FSM after the first pass is:

indexes == 0 || !has_lpdead_items

Those seem different to me.

- Melanie

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Melanie Plageman 2024-01-12 19:02:21 Re: Emit fewer vacuum records by reaping removable tuples during pruning
Previous Message Robert Haas 2024-01-12 18:45:53 Re: Emit fewer vacuum records by reaping removable tuples during pruning