Caveat: column privileges are intertwined with table privileges in that table privileges override column privileges. E.g. if we do:
grant all on mytable to myrole;
Then myrole is granted privileges for ALL columns. Likewise, if we do:
grant all (id) on mytable to myrole;
revoke all on mytable from myrole;
Then the grant on the id column is revoked.
This is unlike how grants for schemas and tables interact, where you need privileges for BOTH the schema the table is in AND the table itself in order to access the table.
Add
/column-privileges
endpoint to list, grant, revoke column privileges.Modified from information_schema.column_privileges. We try to be as close as possible to the view definition, obtained from:
The main differences are:
(reason for exclusion in information_schema.column_privileges:
https://www.postgresql.org/message-id/9136.1502740844%40sss.pgh.pa.us)
column_id
table_catalog
is omittedCaveat: column privileges are intertwined with table privileges in that table privileges override column privileges. E.g. if we do:
Then
myrole
is granted privileges for ALL columns. Likewise, if we do:Then the grant on the
id
column is revoked.This is unlike how grants for schemas and tables interact, where you need privileges for BOTH the schema the table is in AND the table itself in order to access the table.
Example output:
Request:
Response:
Request:
Response:
Request:
Response: