以下是 information_schema.routine_privileges 表的一些关键列:
- grantor: 授予权限的角色。
- grantee: 被授予权限的角色。
- routine_catalog: 存储过程或函数所属的目录(通常是数据库名称)。
- routine_schema: 存储过程或函数所属的模式。
- routine_name: 存储过程或函数的名称。
- specific_catalog: 存储过程或函数特定的目录(通常是数据库名称)。
- specific_schema: 存储过程或函数特定的模式。
- specific_name: 存储过程或函数的特定名称。
- privilege_type: 授予的权限类型,如 EXECUTE。
通过查询 information_schema.routine_privileges 表,你可以获取有关特定存储过程或函数的权限信息。以下是一个简单的查询示例,显示了给定存储过程或函数 my_function 授予的所有权限:
SELECT
grantor,
grantee,
routine_catalog,
routine_schema,
routine_name,
specific_catalog,
specific_schema,
specific_name,
privilege_type
FROM
information_schema.routine_privileges
WHERE
routine_name = 'my_function';
这个查询会返回给定存储过程或函数的权限信息,包括授予权限的角色、被授予权限的角色、存储过程或函数的信息以及具体的权限类型。
请注意,具体的系统表和列名可能有所不同,具体取决于 PostgreSQL 版本和配置。
转载请注明出处:http://www.zyzy.cn/article/detail/8439/PostgreSQL