has_server_privilege()

一个系统函数,用于确定用户是否对外部服务器拥有某个权限

has_server_privilege() 是一个系统函数,用于确定用户是否对指定的外部服务器拥有指定的 权限

has_server_privilege() 添加于 PostgreSQL 8.4

用法

has_server_privilege(server text or oid, privilege text)
has_server_privilege(user text or oid, server text or oid, privilege text)

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

变更历史

示例

以下示例假定一个 FDW 配置如下:

postgres=# \des
         List of foreign servers
  Name  |  Owner   | Foreign-data wrapper 
--------+----------+----------------------
 pg_fdw | postgres | postgres_fdw
(1 row)

确定当前用户是否对指定的外部服务器拥有 USAGE 权限

postgres=# SELECT has_server_privilege('pg_fdw', 'USAGE');
 has_server_privilege 
----------------------
 t
(1 row)

确定指定用户是否对指定的外部服务器拥有 USAGE 权限

postgres=# SELECT has_server_privilege('foo', 'pg_fdw', 'USAGE');
 has_server_privilege 
----------------------
 f
(1 row)

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

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

尝试确定一个不存在的外部服务器的权限

postgres=# SELECT has_server_privilege('microfiche_archive_2nd_floor', 'USAGE');
ERROR:  server "microfiche_archive_2nd_floor" does not exist

分类

外部数据包装器 (FDW), 系统函数, 用户与角色

另请参阅

has_foreign_data_wrapper_privilege()

反馈

就“has_server_privilege()”提交任何评论、建议或更正,请点击 这里