DBADMIN

DBADMIN 角色是在安装数据库时分配给 dbadmin 用户的预定义角色。安装后,dbadmin 用户和具有 PSEUDOSUPERUSER 角色的用户可以将任何角色授予任何用户或非预定义角色。

例如,超级用户 dbadmin 创建角色 fred 并向 fred 授予 DBADMIN 角色:

=> CREATE USER fred;
CREATE USER
=> GRANT DBADMIN TO fred WITH ADMIN OPTION;
GRANT ROLE

在用户 fred 启用DBADMIN role 后,他可以通过创建用户 alice 来行使他的 DBADMIN 权限。因为 GRANT 语句包含 WITH ADMIN OPTION,所以 fred 也可以将 DBADMIN 角色授予用户 alice


=> \c - fred
You are now connected as user "fred".
=> SET ROLE dbadmin;
SET
CREATE USER alice;
CREATE USER
=> GRANT DBADMIN TO alice;
GRANT ROLE

DBADMIN 权限

下表列出了 DBADMIN 角色支持的权限:

  • 创建用户和角色,并向他们授予角色和权限

  • 创建和删除架构

  • 查看所有系统表

  • 查看和终止用户会话

  • 访问任意用户创建的所有数据