Re: add PROCESS_MAIN to VACUUM - Mailing list pgsql-hackers

From Nathan Bossart
Subject Re: add PROCESS_MAIN to VACUUM
Date
Msg-id 20230307005949.GA3266981@nathanxps13
Whole thread Raw
In response to Re: add PROCESS_MAIN to VACUUM  (Michael Paquier <michael@paquier.xyz>)
Responses Re: add PROCESS_MAIN to VACUUM  (Michael Paquier <michael@paquier.xyz>)
List 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



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Evaluate arguments of correlated SubPlans in the referencing ExprState
Next
From: Julien Rouhaud
Date:
Subject: Re: Combine pg_walinspect till_end_of_wal functions with others