Re: allow granting CLUSTER, REFRESH MATERIALIZED VIEW, and REINDEX
Pavel Luzanov <p.luzanov@postgrespro.ru>
From: Pavel Luzanov <p.luzanov@postgrespro.ru>
To: Jeff Davis <pgsql@j-davis.com>, Nathan Bossart <nathandbossart@gmail.com>
Cc: pgsql-hackers@postgresql.org
Date: 2022-12-14T22:02:39Z
Lists: pgsql-hackers
On 14.12.2022 22:46, Jeff Davis wrote: > The behavior is that MAINTAIN > privileges on the partitioned table does not imply MAINTAIN privileges > on the partitions. I believe that's fine and it's consistent with other > privileges on partitioned tables, such as SELECT and INSERT. Sorry, I may have missed something, but here's what I see: postgres@postgres(16.0)=# create table p (id int) partition by list (id); postgres@postgres(16.0)=# create table p1 partition of p for values in (1); postgres@postgres(16.0)=# create table p2 partition of p for values in (2); postgres@postgres(16.0)=# grant select, insert, maintain on p to alice ; postgres@postgres(16.0)=# \c - alice You are now connected to database "postgres" as user "alice". alice@postgres(16.0)=> insert into p values (1); INSERT 0 1 alice@postgres(16.0)=> select * from p; id ---- 1 (1 row) alice@postgres(16.0)=> vacuum p; WARNING: permission denied to vacuum "p1", skipping it WARNING: permission denied to vacuum "p2", skipping it VACUUM -- Pavel Luzanov Postgres Professional: https://postgrespro.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