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>, Ted Yu <yuzhihong@gmail.com>, Pavel Luzanov <p.luzanov@postgrespro.ru>, Justin Pryzby <pryzby@telsasoft.com>, pgsql-hackers@postgresql.org
Date: 2023-06-15T00:46:33Z
Lists: pgsql-hackers
On Wed, Jun 14, 2023 at 11:17:11AM -0700, Nathan Bossart wrote: > On Tue, Jun 13, 2023 at 04:54:42PM -0700, Nathan Bossart wrote: > > On Wed, Jun 14, 2023 at 08:16:15AM +0900, Michael Paquier wrote: > >> So, yes, agreed about the removal of has_partition_ancestor_privs(). > >> I am adding an open item assigned to you and Jeff. > > > > Thanks. I suspect there's more discussion incoming, but I'm hoping to > > close this item one way or another by 16beta2. > > Concretely, I am proposing something like the attached patches. The result after 0001 is applied is that a couple of object_ownercheck() calls that existed before ff9618e are removed from some ACL checks in the REINDEX, CLUSTER and VACUUM paths. Is that OK for shared relations and shouldn't cluster_is_permitted_for_relation() include that? vacuum_is_permitted_for_relation() is consistent on this side. Here are the paths that now differ: cluster_rel get_tables_to_cluster get_tables_to_cluster_partitioned RangeVarCallbackForReindexIndex ReindexMultipleTables 0002 looks OK to retain the skip check for toast relations in the VACUUM case. -- 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