feat: column privileges #589
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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: