Re: allow granting CLUSTER, REFRESH MATERIALIZED VIEW, and REINDEX
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: Jeff Davis <pgsql@j-davis.com>, Alvaro Herrera <alvherre@alvh.no-ip.org>, Pavel Luzanov <p.luzanov@postgrespro.ru>, pgsql-hackers@postgresql.org
Date: 2022-12-15T00:12:26Z
Lists: pgsql-hackers
On Wed, Dec 14, 2022 at 03:29:39PM -0800, Nathan Bossart wrote: > On Wed, Dec 14, 2022 at 11:05:13AM -0800, Jeff Davis wrote: >> On Wed, 2022-12-14 at 10:16 -0800, Nathan Bossart wrote: >>> Okay. Should all the privileges governed by MAINTAIN apply to a >>> relation's >>> TOAST table as well? >> >> Yes, I agree. > > This might be tricky, because AFAICT you have to scan pg_class to find a > TOAST table's main relation. Ugh, yeah. Are we talking about a case where we know the toast information but need to look back at some information of its parent to do a decision? I don't recall a case where we do that. CLUSTER, REINDEX and VACUUM lock first the parent when working on it, and no AEL is taken on the parent if doing directly a VACUUM or a REINDEX on the toast table, so that could lead to deadlock scenarios. Shouldn't MAINTAIN be sent down to the toast table as well if that's not done this way? FWIW, I have briefly poked at that here: https://www.postgresql.org/message-id/YZI+aNEnnpBASxNU@paquier.xyz -- Michael
Commits
-
Improve privilege documentation for maintenance commands.
- c2122aae636d 16.0 landed
-
Fix cache lookup hazards introduced by ff9618e82a.
- 4dbdb82513b6 16.0 landed
-
Move bool parameter for vacuum_rel() to option bits.
- 5b1a87994312 16.0 landed
-
Fix MAINTAIN privileges for toast tables and partitions.
- ff9618e82a46 16.0 landed
-
Add grantable MAINTAIN privilege and pg_maintain role.
- 60684dd834a2 16.0 landed