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-22T07:11:08Z
Lists: pgsql-hackers
On Wed, Jun 21, 2023 at 08:06:06PM -0700, Nathan Bossart wrote: > On Thu, Jun 22, 2023 at 10:46:41AM +0900, Michael Paquier wrote: >> - /* >> - * We already checked that the user has privileges to CLUSTER the >> - * partitioned table when we locked it earlier, so there's no need to >> - * check the privileges again here. >> - */ >> + if (!cluster_is_permitted_for_relation(relid, GetUserId())) >> + continue; >> I would add a comment here that this ACL recheck for the leaves is an >> important thing to keep around as it impacts the case where the leaves >> have a different owner than the parent, and the owner of the parent >> clusters it. The only place in the tests where this has an influence >> is the isolation test cluster-conflict-partition. > > Done. + /* + * It's possible that the user does not have privileges to CLUSTER the + * leaf partition despite having such privileges on the partitioned + * table. We skip any partitions which the user is not permitted to + * CLUSTER. + */ Sounds good to me. Thanks. -- 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