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