Re: allow granting CLUSTER, REFRESH MATERIALIZED VIEW, and REINDEX
Nathan Bossart <nathandbossart@gmail.com>
From: Nathan Bossart <nathandbossart@gmail.com>
To: Jeff Davis <pgsql@j-davis.com>
Cc: Michael Paquier <michael@paquier.xyz>, Ted Yu <yuzhihong@gmail.com>, Pavel Luzanov <p.luzanov@postgrespro.ru>, Justin Pryzby <pryzby@telsasoft.com>, pgsql-hackers@postgresql.org
Date: 2023-06-20T17:49:27Z
Lists: pgsql-hackers
On Tue, Jun 20, 2023 at 10:40:32AM -0700, Nathan Bossart wrote: > On Tue, Jun 20, 2023 at 10:04:37AM -0700, Jeff Davis wrote: >> I think v4-0001 broke the handling of toast tables? It looks like you >> removed the check for !skip_privs but need to add it to the flags in >> vacuum_is_permitted_for_relation(). > > Good catch. I'm not sure why some of the calls to > vacuum_is_permitted_for_relation() are masking the options. AFAICT we can > simply remove the masks. I've done so in the attached patch. Oh, I think I see why. This appears to be used to control which WARNING message is emitted. If you lose permissions before you get to analyzing in a VACUUM (ANALYZE) command, you'll get a "permission denied to vacuum" message instead of a "permission denied to analyze" message. IMO a better way to do that would be to control only those two bits (VACOPT_VACUUM and VACOPT_ANALYZE) in calls to vacuum_is_permitted_for_relation(), and to leave the rest untouched. Patch incoming... -- Nathan Bossart Amazon Web Services: https://aws.amazon.com
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