视图 routine_privileges 标识在函数上所有赋予当前用户或者由当前用户赋予的权限。 每个函数,授权人,和权限接受人的组合都有一行。给组赋予的权限在视图 role_routine_grants 里标出。
Table 31-23. routine_privileges 字段
名字 | 数据类型 | 描述 |
---|---|---|
grantor | sql_identifier | 赋予权限的用户的名字 |
grantee | sql_identifier | 被授予权限的用户或者组的名字 |
specific_catalog | sql_identifier | 包含该函数的数据库名字(总是当前数据库) |
specific_schema | sql_identifier | 包含该函数的模式的名字 |
specific_name | sql_identifier | 函数"具体的名字"。参阅 Section 31.26 获取更多信息。 |
routine_catalog | sql_identifier | 包含该函数的数据库的名字(总是当前数据库) |
routine_schema | sql_identifier | 包含该函数的模式的名字 |
routine_name | sql_identifier | 函数的名字(可能会因大小写或者重载而重复) |
privilege_type | character_data | 总是 EXECUTE (用于函数的唯一的权限类型) |
is_grantable | character_data | 如果权限是可赋予的,则为 YES,如果不是,为 NO |
请注意,字段 grantee 并不区分用户和组。 如果你有同名的用户和组,那么是没有办法区分它们的。将来版本的 PostgreSQL 很可能将禁止用户和组同名。