Re: allow granting CLUSTER, REFRESH MATERIALIZED VIEW, and REINDEX
Isaac Morland <isaac.morland@gmail.com>
From: Isaac Morland <isaac.morland@gmail.com>
To: Jeff Davis <pgsql@j-davis.com>
Cc: Pavel Luzanov <p.luzanov@postgrespro.ru>,
Nathan Bossart <nathandbossart@gmail.com>, pgsql-hackers@postgresql.org
Date: 2022-12-14T20:32:45Z
Lists: pgsql-hackers
On Wed, 14 Dec 2022 at 14:47, Jeff Davis <pgsql@j-davis.com> wrote: Furthermore, MAINTAIN privileges on the partitioned table do not grant > the ability to create new partitions. There's a comment in tablecmds.c > alluding to a possible "UNDER" privilege: > > /* > * We should have an UNDER permission flag for this, but for now, > * demand that creator of a child table own the parent. > */ > > Perhaps there's something we want to do there, but it's a different use > case than the MAINTAIN privilege, so I don't see a reason it should be > grouped. Also, there's a bit of weirdness to think about in cases where > another user creates (and owns) a partition of your table (currently > this is only possible if the other user is a superuser). > I strongly agree. MAINTAIN is for actions that leave the schema the same. Conceptually, running MAINTAIN shouldn't affect the result of pg_dump. That may not be strictly true, but adding a table is definitely not something that MAINTAIN should allow. Is there a firm decision on the issue of changing the cluster index of a table? Re-clustering a table on the same index is clearly something that should be granted by MAINTAIN as I imagine it, but changing the cluster index, strictly speaking, changes the schema and could be considered outside of the scope of what should be allowed. On the other hand, I can see simplicity in having CLUSTER check the same permissions whether or not the cluster index is being updated.
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