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)