Tablespace ACLs

From: Dominique Devienne <ddevienne(at)gmail(dot)com>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Tablespace ACLs
Date: 2024-10-10 12:35:17
Message-ID: CAFCRh--u2GEZ15=WJBRmMwPdKJ3r=_XSA3rw8sjWJZ6Nc2NDYw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi. Why isn't the ::regrole::text cast working as usual?
Aren't the OIDs for grantor and grantee returned by acldefault() valid ROLEs?

C:\Users\ddevienne>psql service=...
psql (17.0)
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384,
compression: off, ALPN: postgresql)
Type "help" for help.

ddevienne=> show server_version;
server_version
----------------
17.0
(1 row)

ddevienne=> select grantor::regrole::text,
ddevienne-> case when grantee = 0 then 'PUBLIC' else
grantee::regrole::text end,
ddevienne-> privilege_type, is_grantable
ddevienne-> from pg_tablespace
ddevienne-> left join lateral aclexplode(coalesce(spcacl,
acldefault('t', oid))) on true
ddevienne-> where spcname = 'pg_default';
grantor | grantee | privilege_type | is_grantable
---------+---------+----------------+--------------
1663 | 1663 | CREATE | f
(1 row)

ddevienne=> select grantor::regrole::text,
ddevienne-> case when grantee = 0 then 'PUBLIC' else
grantee::regrole::text end,
ddevienne-> privilege_type, is_grantable
ddevienne-> from pg_tablespace
ddevienne-> left join lateral aclexplode(coalesce(spcacl,
acldefault('t', oid))) on true
ddevienne-> where spcname = 'hdd_data';
grantor | grantee | privilege_type | is_grantable
---------+---------+----------------+--------------
2128194 | 2128194 | CREATE | f
(1 row)

On a related but different matter, is it normal not having access to a
single tablespace makes the whole output disappear?

ddevienne=> \db+
ERROR: permission denied for tablespace hdd_data
ddevienne=> \c - postgres
ddevienne=# \db+
List of tablespaces
Name | Owner | Location | Access privileges | Options
| Size | Description
------------+----------+----------------+-------------------+---------+---------+-------------
hdd_data | postgres | ... | | | 0 bytes |
pg_default | postgres | | |
| 1077 MB |
pg_global | postgres | | |
| 6301 kB |
(3 rows)

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Erik Wienhold 2024-10-10 13:40:07 Re: Tablespace ACLs
Previous Message Ravi Varma Addala 2024-10-10 10:02:15 PGBouncer - Load balancing options