add PROCESS_MAIN to VACUUM - Mailing list pgsql-hackers

From Nathan Bossart
Subject add PROCESS_MAIN to VACUUM
Date
Msg-id 20221230000028.GA435655@nathanxps13
Whole thread Raw
Responses Re: add PROCESS_MAIN to VACUUM
Re: add PROCESS_MAIN to VACUUM
List pgsql-hackers
Hi hackers,

I originally suggested $ЅUBJECT as part of the thread that ultimately led
to the addition of PROCESS_TOAST [0], but we decided not to proceed with
it.  Recently, this idea came up again [1], so I thought I'd give it
another try.

The motivation for adding this option is to make it easier to VACUUM only a
relation's TOAST table.  At the moment, you need to find the TOAST table by
examining a relation's reltoastrelid, and you need USAGE on the pg_toast
schema.  This option could also help make it possible to call only
vac_update_datfrozenxid() without processing any relations, as discussed
elsewhere [2].

The demand for all these niche VACUUM options is likely limited, but it
does seem like there are some useful applications.  If a new option is out
of the question, perhaps this functionality could be added to the existing
PROCESS_TOAST option.

[0] https://postgr.es/m/BA8951E9-1524-48C5-94AF-73B1F0D7857F%40amazon.com
[1] https://postgr.es/m/20221215191246.GA252861%40nathanxps13
[2] https://postgr.es/m/20221229213719.GA301584%40nathanxps13

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

Attachment

pgsql-hackers by date:

Previous
From: Peter Geoghegan
Date:
Subject: Re: Avoiding unnecessary clog lookups while freezing
Next
From: Tomas Vondra
Date:
Subject: Re: Missing update of all_hasnulls in BRIN opclasses