has_tablespace_privilege()

一个确定用户是否对表空间具有权限的系统函数

has_tablespace_privilege() 是一个系统函数,用于确定用户是否对指定的 权限 拥有指定的 表空间

has_tablespace_privilege()PostgreSQL 8.0 中添加。

用法

has_tablespace_privilege() 有两种形式

  • has_tablespace_privilege(tablespace TEXT OID, privilege TEXT)
  • has_tablespace_privilege(user TEXT OID, tablespace TEXT OID, privilege TEXT)

唯一可以使用 has_tablespace_privilege() 查询的权限是:CREATE

更改历史记录

示例

确定当前用户是否对指定的表空间具有 CREATE 权限

postgres=# SELECT has_tablespace_privilege('tblspc_1', 'CREATE');
 has_tablespace_privilege 
--------------------------
 t
(1 row)

确定指定的用户是否对指定的表空间具有 CREATE 权限

postgres=# SELECT has_tablespace_privilege('foo', 'tblspc_2', 'CREATE');
 has_tablespace_privilege 
--------------------------
 f
(1 row)

除了 CREATE 之外的其他权限不被识别

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

尝试确定不存在的表空间的权限

postgres=# SELECT has_tablespace_privilege('tblspc_foo', 'CREATE');
ERROR:  tablespace "tblspc_foo" does not exist

分类

系统函数表空间

另请参阅

表空间

反馈

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