33.47. usage_privileges

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 33-45. usage_privileges Columns

NameData TypeDescription
grantorsql_identifierName of the role that granted the privilege
granteesql_identifierName of the role that the privilege was granted to
object_catalogsql_identifierName of the database containing the object (always the current database)
object_schemasql_identifierName of the schema containing the object, if applicable, else an empty string
object_namesql_identifierName of the object
object_typecharacter_dataDOMAIN or FOREIGN DATA WRAPPER or FOREIGN SERVER
privilege_typecharacter_dataAlways USAGE
is_grantablecharacter_dataYES if the privilege is grantable, NO if not