The view usage_privileges identifies USAGE privileges granted on various kinds of objects to a currently enabled role or by a currently enabled role. In PostgreSQL, this currently applies to domains, foreign-data wrappers, and foreign servers. There is one row for each combination of object, grantor, and grantee.
Since domains do not have real privileges in PostgreSQL, this view shows implicit non-grantable USAGE privileges granted by the owner to PUBLIC for all domains. The other object types, however, show real privileges.
Table 34-46. usage_privileges Columns
|grantor||sql_identifier||Name of the role that granted the privilege|
|grantee||sql_identifier||Name of the role that the privilege was granted to|
|object_catalog||sql_identifier||Name of the database containing the object (always the current database)|
|object_schema||sql_identifier||Name of the schema containing the object, if applicable, else an empty string|
|object_name||sql_identifier||Name of the object|
|object_type||character_data||DOMAIN or FOREIGN DATA WRAPPER or FOREIGN SERVER|
|is_grantable||yes_or_no||YES if the privilege is grantable, NO if not|