has_language_privilege()
是一个系统函数,用于确定用户是否对指定的 权限拥有指定的 语言。
has_language_privilege()
在 PostgreSQL 7.3 中添加。
用法
has_language_privilege ( [user
name
oroid
, ]language
text
,privilege
text
) →boolean
has_language_privilege ( [user
name
oroid
, ]language
oid
,privilege
text
) →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 文档: 访问权限查询函数