The view table_privileges identifies all privileges granted on tables or views to the current user or by the current user. There is one row for each combination of table, grantor, and grantee. Privileges granted to groups are identified in the view role_table_grants.
Table 31-33. table_privileges Columns
|grantor||sql_identifier||Name of the user that granted the privilege|
|grantee||sql_identifier||Name of the user or group that the privilege was granted to|
|table_catalog||sql_identifier||Name of the database that contains the table (always the current database)|
|table_schema||sql_identifier||Name of the schema that contains the table|
|table_name||sql_identifier||Name of the table|
|privilege_type||character_data||Type of the privilege: SELECT, DELETE, INSERT, UPDATE, REFERENCES, RULE, or TRIGGER|
|is_grantable||character_data||YES if the privilege is grantable, NO if not|
|with_hierarchy||character_data||Applies to a feature not available in PostgreSQL|
Note that the column grantee makes no distinction between users and groups. If you have users and groups with the same name, there is unfortunately no way to distinguish them. A future version of PostgreSQL will possibly prohibit having users and groups with the same name.