33.10. column_privileges

The view column_privileges identifies all privileges granted on columns to a currently enabled role or by a currently enabled role. There is one row for each combination of column, grantor, and grantee.

In PostgreSQL, you can only grant privileges on entire tables, not individual columns. Therefore, this view contains the same information as table_privileges, just represented through one row for each column in each appropriate table, but it only covers privilege types where column granularity is possible: SELECT, INSERT, UPDATE, REFERENCES. If you want to make your applications fit for possible future developments, it is generally the right choice to use this view instead of table_privileges if one of those privilege types is concerned.

Table 33-8. column_privileges Columns

NameData TypeDescription
grantorsql_identifierName of the role that granted the privilege
granteesql_identifierName of the role that the privilege was granted to
table_catalogsql_identifierName of the database that contains the table that contains the column (always the current database)
table_schemasql_identifierName of the schema that contains the table that contains the column
table_namesql_identifierName of the table that contains the column
column_namesql_identifierName of the column
privilege_typecharacter_data Type of the privilege: SELECT, INSERT, UPDATE, or REFERENCES
is_grantablecharacter_dataYES if the privilege is grantable, NO if not