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()”的任何评论、建议或更正 此处