Re: allow granting CLUSTER, REFRESH MATERIALIZED VIEW, and REINDEX

From: Pavel Luzanov <p(dot)luzanov(at)postgrespro(dot)ru>
To: Nathan Bossart <nathandbossart(at)gmail(dot)com>, Jeff Davis <pgsql(at)j-davis(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: allow granting CLUSTER, REFRESH MATERIALIZED VIEW, and REINDEX
Date: 2022-12-14 09:07:13
Message-ID: b572d238-0de2-9cad-5f34-4741dc627834@postgrespro.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

After a fresh install, including the patch for \dpS [1],
I found that granting MAINTAIN privilege does not allow the TOAST table
to be vacuumed.

postgres(at)postgres(16.0)=# GRANT MAINTAIN ON pg_type TO alice;
GRANT
postgres(at)postgres(16.0)=# \c - alice
You are now connected to database "postgres" as user "alice".
alice(at)postgres(16.0)=> \dpS pg_type
                                    Access privileges
   Schema   |  Name   | Type  |     Access privileges      | Column
privileges | Policies
------------+---------+-------+----------------------------+-------------------+----------
 pg_catalog | pg_type | table |
postgres=arwdDxtm/postgres+|                   |
            |         |       | =r/postgres +|                   |
            |         |       | alice=m/postgres |                   |
(1 row)

So, the patch for \dpS works as expected and can be committed.

alice(at)postgres(16.0)=> VACUUM pg_type;
WARNING:  permission denied to vacuum "pg_toast_1247", skipping it
VACUUM

[1]
https://www.postgresql.org/message-id/20221206193606.GB3078082%40nathanxps13

--
Pavel Luzanov
Postgres Professional: https://postgrespro.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Masahiko Sawada 2022-12-14 09:19:11 Re: Perform streaming logical transactions by background workers and parallel apply
Previous Message shiy.fnst@fujitsu.com 2022-12-14 08:44:56 RE: Force streaming every change in logical decoding