Re: Add MAIN_RELATION_CLEANUP and SECONDARY_RELATION_CLEANUP options to VACUUM

Nathan Bossart <bossartn@amazon.com>

From: "Bossart, Nathan" <bossartn@amazon.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2020-02-05T21:29:27Z
Lists: pgsql-hackers

Attachments

On 1/24/20, 2:14 PM, "Bossart, Nathan" <bossartn@amazon.com> wrote:
>> Yes, I suppose we have the same problem if you disable
>> MAIN_RELATION_CLEANUP and the relation has no TOAST table.  In any
>> case, allowing both options to be disabled shouldn't hurt anything.
>
> I've been thinking further in this area, and I'm wondering if it also
> makes sense to remove the restriction on ANALYZE with
> MAIN_RELATION_CLEANUP disabled.  A command like
>
>         VACUUM (ANALYZE, MAIN_RELATION_CLEANUP FALSE) test;
>
> could be interpreted as meaning we should vacuum the TOAST table and
> analyze the main relation.  Since the word "cleanup" is present in the
> option name, this might not be too confusing.

I've attached v3 of the patch, which removes the restriction on
ANALYZE with MAIN_RELATION_CLEANUP disabled.

Nathan

Commits

  1. Add option PROCESS_TOAST to VACUUM