On Thu, Dec 15, 2022 at 10:42:15AM -0800, Jeff Davis wrote: > Right now, targetting the toast table directly requires the USAGE > privilege on the toast schema, and you have to look up the name first, > right? As it is, that's not a great UI. > > How about if we add a VACUUM option like TOAST_ONLY (or combine it with > the PROCESS_TOAST option)? Then, you're always looking at the parent > table first so there's no deadlock, do the permission checks on the > parent, and then expand to the toast table with no check. This can be a > follow-up patch; for now, the idea of skipping the privilege checks > when expanding looks like an improvement.
I originally suggested an option to allow specifying whether to process the main relation, but we ended up only adding PROCESS_TOAST [0]. FWIW I still think that such an option would be useful for the reasons you describe. [0] https://postgr.es/m/BA8951E9-1524-48C5-94AF-73B1F0D7857F%40amazon.com -- Nathan Bossart Amazon Web Services: https://aws.amazon.com