The view routine_privileges identifies all
privileges granted on functions to the current user or by the
current user. There is one row for each combination of function,
grantor, and grantee. Privileges granted to groups are identified
in the view role_routine_grants.

Table 32-23. routine_privileges Columns

Name

Data Type

Description

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

specific_catalog

sql_identifier

Name of the database containing the function (always the current database)

specific_schema

sql_identifier

Name of the schema containing the function

specific_name

sql_identifier

The "specific name" of the function. See Section 32.26 for more information.

routine_catalog

sql_identifier

Name of the database containing the function (always the current database)

routine_schema

sql_identifier

Name of the schema containing the function

routine_name

sql_identifier

Name of the function (may be duplicated in case of overloading)

privilege_type

character_data

Always EXECUTE (the only privilege type for functions)

is_grantable

character_data

YES if the privilege is grantable, NO if not

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.