has_language_privilege() 是一个系统函数,用于确定用户是否对指定的 语言 拥有指定的 权限。
has_language_privilege() 在 PostgreSQL 7.3 中被添加。
用法
has_language_privilege ( [usernameoroid, ]languagetext,privilegetext) →boolean
has_language_privilege ( [usernameoroid, ]languageoid,privilegetext) →boolean
可以使用 has_language_privilege() 查询的唯一权限是:USAGE。
变更历史
- PostgreSQL 7.3
- 添加于 (提交 4ab8e690)
示例
确定当前用户是否对指定的语言拥有 USAGE 权限
postgres=# SELECT has_language_privilege('plpgsql', 'USAGE');
has_language_privilege
------------------------
t
(1 row)
尝试确定此对象类型不受识别的权限
postgres=# SELECT has_language_privilege('plpgsql', 'CREATE');
ERROR: unrecognized privilege type: "CREATE"
尝试确定一个不存在的语言的权限
postgres=# SELECT has_language_privilege('plalgol', 'CREATE');
ERROR: language "plalgol" does not exist
参考资料
- PostgreSQL 文档: 访问权限查询函数
