has_schema_privilege()

一个用于确定用户是否对某个模式具有权限的系统函数

has_schema_privilege() 是一个系统函数,用于确定用户是否对指定的权限具有指定的模式。

has_schema_privilege()PostgreSQL 7.3 中添加。

用法

has_schema_privilege() 具有两种形式

  • has_schema_privilege(schema TEXT OID, privilege TEXT)
  • has_schema_privilege(user TEXT OID, schema TEXT OID, privilege TEXT)

可以查询以下权限

  • CREATE
  • USAGE

更改历史记录

示例

确定当前用户是否对指定的模式具有USAGE权限

postgres=# SELECT has_schema_privilege('public', 'USAGE');
 has_schema_privilege 
----------------------
 t
(1 row)

确定指定的用户是否对指定的模式具有USAGE权限

postgres=# SELECT has_schema_privilege('someuser', 'foo', 'USAGE');
 has_schema_privilege
----------------------
 f
(1 row)

尝试为这种对象类型确定未识别的权限

postgres=# SELECT has_schema_privilege('public', 'DELETE');
ERROR:  unrecognized privilege type: "DELETE"

尝试为不存在的函数确定权限

postgres=# SELECT has_schema_privilege('foo', 'USAGE');
ERROR:  schema "foo" does not exist

分类

模式 (命名空间)系统函数用户和角色

反馈

提交任何关于"has_schema_privilege()"的评论、建议或更正 此处