31.25. routine_privileges

## 31.25. `routine_privileges`

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 31.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 31.26, “`routines`” 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.