Re: allow granting CLUSTER, REFRESH MATERIALIZED VIEW, and REINDEX
Jeff Davis <pgsql@j-davis.com>
From: Jeff Davis <pgsql@j-davis.com>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: Ted Yu <yuzhihong@gmail.com>, Pavel Luzanov <p.luzanov@postgrespro.ru>, Justin Pryzby <pryzby@telsasoft.com>, pgsql-hackers@postgresql.org
Date: 2023-01-13T21:30:28Z
Lists: pgsql-hackers
On Fri, 2023-01-13 at 12:33 -0800, Nathan Bossart wrote: > That would fix the problem in the original complaint, but it wouldn't > allow > for vacuuming toast tables directly if you only have MAINTAIN > privileges on > the main relation. If you can vacuum the toast table indirectly via > the > main relation, shouldn't it be possible to vacuum it directly? Perhaps, but that's barely supported today: you have to awkwardly find the internal toast table name yourself, and you need the admin to grant you USAGE on the pg_toast schema. I don't think we're obligated to also support this hackery for non-owners with a new MAINTAIN privilege. If we care about that use case, let's do it right and have forms of VACUUM/CLUSTER/REINDEX that check permissions on the main table, skip the work on the main table, and descend directly to the toast tables. That doesn't seem hard, but it's a separate patch. Right now, we should simply fix the problem. -- Jeff Davis PostgreSQL Contributor Team - AWS
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