has_type_privilege()

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

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

has_type_privilege()PostgreSQL 9.2 中添加。

用法

has_type_privilege() 有两种形式

  • has_type_privilege(类型 TEXT OID, 权限 TEXT)
  • has_type_privilege(用户 TEXT OID, 类型 TEXT OID, 权限 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()" 的评论、建议或更正 此处