更新时间:2024-10-10 GMT+08:00

GaussDB(DWS)数据库用户管理

使用CREATE USER和ALTER USER可以创建和管理数据库用户。

  • 三权分立下,GaussDB(DWS)用户账户只能由系统管理员或拥有CREATEROLE属性的安全管理员创建和删除。
  • 三权分立时,用户账户只能由安全管理员创建。

创建用户

CREATE USER语句用于创建新的GaussDB(DWS)用户。创建新用户后,可以使用该用户连接数据库。

  • 创建普通用户u1,并设置用户拥有CREATEDB属性。
    1
    CREATE USER u1 WITH CREATEDB PASSWORD '{Password}'; 
    
  • 创建系统管理员mydbadmin,需指定参数SYSADMIN 。
    1
    CREATE USER mydbadmin sysadmin PASSWORD '{Password}';
    
  • 通过视图PG_USER查看已创建的用户。
    1
    SELECT * FROM pg_user;
    
  • 要查看用户属性,请查询系统表PG_AUTHID
    1
    SELECT * FROM pg_authid; 
    

修改用户属性

ALTER USER语句用于更改用户属性(例如,更改用户密码或权限等内容)。

示例:

  • 用户u1重命名为u2:
    1
    ALTER USER u1 RENAME TO u2;
    
  • 为用户u1赋予CREATEROLE权限:
    1
    ALTER USER u1 CREATEROLE;
    
  • 修改用户密码可参考密码设置和修改

锁定用户

ALTER USER语句中ACCOUNT LOCK | ACCOUNT UNLOCK参数用于锁定或者解锁用户,被锁定的用户不允许登录。若管理员发现某账户被盗、非法访问等异常情况,可手动锁定该账户;当管理员认为账户恢复正常后,可手动解锁该账户。

示例:

  • 锁定用户u1:
    1
    ALTER USER u1 ACCOUNT LOCK;
    
  • 解锁用户u1:
    1
    ALTER USER u1 ACCOUNT UNLOCK;
    

删除用户

DROP USER语句用于删除一个或多个GaussDB(DWS)用户。当确认账户不再使用,管理员可以删除用户账户。用户删除后不可恢复。

  • 同时删除多个用户时,用","隔开。
  • 成功删除用户后,该用户的所有权限也会被一同删除。
  • 当删除的用户正处于活动状态时,此会话状态不会立马断开,用户在会话状态断开后才会被完全删除。
  • DROP USER语句指定CASCADE时,可级联删除依赖用户的表等对象。即删除owner是该用户的对象,并清理掉其他对象对该用户的授权信息。

示例:

  • 删除用户u1:
    1
    DROP USER u1;
    
  • 级联删除账户u2:
    1
    DROP USER u2 CASCADE;