Re: add PROCESS_MAIN to VACUUM

From: Nathan Bossart <nathandbossart(at)gmail(dot)com>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: Melanie Plageman <melanieplageman(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: add PROCESS_MAIN to VACUUM
Date: 2023-03-07 00:59:49
Message-ID: 20230307005949.GA3266981@nathanxps13
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Mar 07, 2023 at 09:20:12AM +0900, Michael Paquier wrote:
> - * Do the actual work --- either FULL or "lazy" vacuum
> + * If PROCESS_MAIN is set (the default), it's time to vacuum the main
> + * relation. Otherwise, we can skip this part. If required, we'll process
> + * the TOAST table later.
>
> Should we mention that this part could be used for a toast table once
> we've already looped once through vacuum_rel() when toast_relid was
> set? VACOPT_PROCESS_MAIN is enforced a few lines down the road,
> still..

That did cross my mind, but I was worried that trying to explain all that
here could cause confusion.

If PROCESS_MAIN is set (the default), it's time to vacuum the main
relation. Otherwise, we can skip this part. If processing the TOAST
table is required (e.g., PROCESS_TOAST is set), we'll force
PROCESS_MAIN to be set when we recurse to the TOAST table so that it
gets processed here.

How does that sound?

--
Nathan Bossart
Amazon Web Services: https://aws.amazon.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Julien Rouhaud 2023-03-07 01:13:46 Re: Combine pg_walinspect till_end_of_wal functions with others
Previous Message Tom Lane 2023-03-07 00:51:09 Re: Evaluate arguments of correlated SubPlans in the referencing ExprState