has_type_privilege()

一个系统函数,用于确定用户是否拥有数据类型的权限

has_type_privilege() 是一个系统函数,用于确定用户是否拥有特定数据类型的权限

has_type_privilege()PostgreSQL 9.2 中被添加。

用法

has_type_privilege() 有两种形式

  • has_type_privilege(type TEXT 或 OID, privilege TEXT)
  • has_type_privilege(user TEXT 或 OID, type TEXT 或 OID, privilege TEXT)

使用 has_type_privilege() 可以查询的唯一权限是:USAGE

类型和权限的规范不区分大小写。

变更历史

示例

确定当前用户是否拥有 TEXT 数据类型的 USAGE 权限

postgres=# SELECT has_type_privilege('TEXT', 'USAGE');
 has_type_privilege
--------------------
 t
(1 row)

确定指定用户是否拥有 VARCHAR 数据类型的 USAGE 权限

postgres=# SELECT has_type_privilege('someuser', 'character varying', 'usage');
 has_type_privilege
--------------------
 t
(1 row)

尝试确定此对象类型不受识别的权限

postgres=# SELECT has_type_privilege('TEXT', 'UPDATE');
ERROR:  unrecognized privilege type: "UPDATE"

尝试确定不存在的数据类型的权限

postgres=# SELECT has_type_privilege('MEGABLOB', 'UPDATE');
ERROR:  type "megablob" does not exist

分类

数据类型, 系统函数, 用户和角色

反馈

提交有关“has_type_privilege()”的任何评论、建议或更正,请在此处 提交