
# DWS数据库用户管理
使用CREATE USER和ALTER USER可以创建和管理数据库用户。
- 非[三权分立](https://support.huaweicloud.com/devg-dws/dws_04_0056.html#ZH-CN_TOPIC_0000001811610145)下，DWS用户账户只能由系统管理员或拥有CREATEROLE属性的安全管理员创建和删除。
- 三权分立时，用户账户只能由安全管理员创建。
#### 创建用户
CREATE USER语句用于创建新的DWS用户。创建新用户后，可以使用该用户连接数据库。
- 创建普通用户u1，并设置用户拥有CREATEDB属性。
  ```
  CREATE USER u1 WITH CREATEDB PASSWORD '{Password}';
  ```
  
- 创建系统管理员mydbadmin，需指定参数SYSADMIN。
  ```
  CREATE USER mydbadmin sysadmin PASSWORD '{Password}';
  ```
  
- 通过视图[PG_USER](https://support.huaweicloud.com/devg-dws/dws_04_0791.html)查看已创建的用户。
  ```
  SELECT * FROM pg_user;
  ```
  
- 要查看用户属性，请查询系统表[PG_AUTHID](https://support.huaweicloud.com/devg-dws/dws_04_0574.html)。
  ```
  SELECT * FROM pg_authid;
  ```
  
 
#### 修改用户属性
ALTER USER语句用于更改用户属性（例如，更改用户密码或权限等内容）。
示例：
- 用户u1重命名为u2：
  ```
  ALTER USER u1 RENAME TO u2;
  ```
  
- 为用户u1赋予CREATEROLE权限：
  ```
  ALTER USER u1 CREATEROLE;
  ```
  
- 修改用户密码可参考[密码设置和修改](https://support.huaweicloud.com/devg-dws/dws_04_0063.html#ZH-CN_TOPIC_0000001811491169__zh-cn_topic_0000001188482292_section1897910435417)。
 
#### 锁定用户
ALTER USER语句中ACCOUNT LOCK \| ACCOUNT UNLOCK参数用于锁定或者解锁用户，被锁定的用户不允许登录。若管理员发现某账户被盗、非法访问等异常情况，可手动锁定该账户；当管理员认为账户恢复正常后，可手动解锁该账户。
示例：
- 锁定用户u1：
  ```
  ALTER USER u1 ACCOUNT LOCK;
  ```
  
- 解锁用户u1：
  ```
  ALTER USER u1 ACCOUNT UNLOCK;
  ```
  
 
#### 删除用户
DROP USER语句用于删除一个或多个DWS用户。当确认账户不再使用，管理员可以删除用户账户。用户删除后不可恢复。
- 同时删除多个用户时，用","隔开。
- 成功删除用户后，该用户的所有权限也会被一同删除。
- 当删除的用户正处于活动状态时，此会话状态不会立即断开，用户在会话状态断开后才会被完全删除。
- DROP USER语句指定CASCADE时，可级联删除依赖用户的表等对象。即删除owner是该用户的对象，并清理掉其他对象对该用户的授权信息。
示例：
- 删除用户u1：
  ```
  DROP USER u1;
  ```
  

- 级联删除账户u2：
  ```
  DROP USER u2 CASCADE;
  ```
  
 
