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: pgsql-hackers@postgresql.org
Date: 2022-12-12T20:04:27Z
Lists: pgsql-hackers
Attachments
- v2-0001-add-grantable-MAINTAIN-privilege.patch (text/x-diff)
On Sat, Dec 10, 2022 at 12:41:09PM -0800, Nathan Bossart wrote: > On Sat, Dec 10, 2022 at 12:07:12PM -0800, Jeff Davis wrote: >> It seems like the discussion on VACUUM/CLUSTER/REINDEX privileges is >> happening in the other thread. What would you like to accomplish in >> this thread? > > Given the feedback in the other thread [0], I was planning to rewrite this > patch to create a MAINTAIN privilege and a pg_maintain_all_tables > predefined role that allowed VACUUM, ANALYZE, CLUSTER, REFRESH MATERIALIZED > VIEW, and REINDEX. Patch attached. I ended up reverting some parts of the VACUUM/ANALYZE patch that were no longer needed (i.e., if the user doesn't have permission to VACUUM, we don't need to separately check whether the user has permission to ANALYZE). Otherwise, I don't think there's anything tremendously different between v1 and v2 besides the fact that all the privileges are grouped together. Since there are only 15 privilege bits used after this patch is applied, presumably we could revert widening AclMode to 64 bits. However, I imagine that will still be necessary at some point in the near future, so I don't see a strong reason to revert it. -- 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