# ALTER USER
#### 功能描述
修改数据库用户的属性。包括数据库用户名称以及权限等。
#### 注意事项
ALTER USER中修改的会话参数只针对指定的用户，且在下一次会话中有效。
#### 语法格式
- 修改用户的权限等信息。
  ```
  ALTER USER user_name [ [ WITH ] option [ ... ] ];
  ```
  ![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/figure/zh-cn_image_0000002764469430.png "点击放大")
  其中option子句为：
  ```
  {
      { CREATEDB | NOCREATEDB }
      | { CREATEROLE | NOCREATEROLE }
      | { INHERIT | NOINHERIT }
      | { AUDITADMIN | NOAUDITADMIN }
      | { SYSADMIN | NOSYSADMIN }
      | { MONADMIN | NOMONADMIN }
      | { OPRADMIN | NOOPRADMIN }
      | { POLADMIN | NOPOLADMIN }
      | { USEFT | NOUSEFT }
      | { LOGIN | NOLOGIN }
      | { REPLICATION | NOREPLICATION }
      | { PERSISTENCE | NOPERSISTENCE }
      | CONNECTION LIMIT connlimit
      | [ ENCRYPTED | UNENCRYPTED ] PASSWORD { 'password' [EXPIRED] | DISABLE | EXPIRED }
      | [ ENCRYPTED | UNENCRYPTED ] IDENTIFIED BY { 'password' [ REPLACE 'old_password' | EXPIRED ] | DISABLE }
      | VALID BEGIN 'timestamp'
      | VALID UNTIL 'timestamp'
      | RESOURCE POOL 'respool'
      | USER GROUP 'groupuser'
      | PERM SPACE 'spacelimit'
      | TEMP SPACE 'tmpspacelimit'
      | SPILL SPACE 'spillspacelimit'
      | NODE GROUP logic_cluster_name
      | ACCOUNT { LOCK | UNLOCK }
      | PGUSER
      | PASSWORD EXPIRE INTERVAL 'time' DAY
  }
  ```
  ![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/figure/zh-cn_image_0000002793708037.png "点击放大")
  
- 修改用户名。
  ```
  ALTER USER user_name 
      RENAME TO new_name;
  ```
  ![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/figure/zh-cn_image_0000002764309498.png)
  

- 修改与用户关联的指定会话参数值。当前版本不支持设置用户级别参数。
  ```
  ALTER USER user_name [ IN DATABASE database_name ]
      SET configuration_parameter {{ TO | = } { value | DEFAULT }|FROM CURRENT};
  ```
  ![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/figure/zh-cn_image_0000002793788235.png "点击放大")
  
- 重置与用户关联的指定会话参数值。当前版本不支持设置用户级别参数。
  ```
  ALTER USER user_name 
      [ IN DATABASE database_name ] RESET {configuration_parameter|ALL};
  ```
  ![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/figure/zh-cn_image_0000002764309496.png "点击放大")
  
 
#### 参数说明
- **user_name**
  现有用户名。
  取值范围：已存在的用户名，如果用户名中包含大写字母则需要使用双引号进行声明。
  ![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
  当前不支持对重分布资源管控对象redisuser进行RENAME TO操作，也不支持将其他用户名进行RENAME TO redisuser操作。
  
- **new_password**
  新密码。
  取值范围：字符串。
  密码规则如下：
  - 不能与当前密码相同。
  
  - 密码默认不少于8个字符。
  
  - 不能与用户名及用户名倒序相同。
  
  - 至少包含大写字母（A\~Z）、小写字母（a\~z）、数字（0\~9）以及非字母数字字符（限定为\~!@#$%\^\&\*()-_=+\\\|\[{}\];:,\<.\>/?）四类字符中的三类字符。当密码中包含其他字符（不属于上述四种字符范围内）时语句执行报错。
  
  - 用户密码需要使用单引号或双引号进行声明。
   
- **old_password**
  旧密码。
  
- **ACCOUNT { LOCK \| UNLOCK }**
  - ACCOUNT LOCK：锁定账户，禁止通过密码认证登录数据库。
  
  - ACCOUNT UNLOCK：解锁账户，允许登录数据库。
   
- **PGUSER**
  当前版本不允许修改用户的PGUSER属性。
  
- 其他参数请参见[ALTER ROLE](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0203.html)章节的[参数说明](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0203.html#ZH-CN_TOPIC_0000002764308862__zh-cn_topic_0059778744_s50961af6143d4aafaf8fa02febbbf331)以及[ALTER ROLE](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0203.html)章节的[参数说明](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0264.html#ZH-CN_TOPIC_0000002764468456__zh-cn_topic_0059778189_s5a43ec5742a742089e2c302063de7fe4)。
 
#### 示例
```
--创建用户jim，登录密码为********。
gaussdb=# CREATE USER jim PASSWORD '********';
--创建数据库。
gaussdb=# CREATE DATABASE testdb1;
--修改用户jim的登录密码。
gaussdb=# ALTER USER jim IDENTIFIED BY '**********' REPLACE '********';
--锁定jim账户。
gaussdb=# ALTER USER jim ACCOUNT LOCK;
--解锁jim账户。
gaussdb=# ALTER USER jim ACCOUNT UNLOCK;
--修改用户名。
gaussdb=# ALTER USER jim RENAME TO lisa;
--删除用户。
gaussdb=# DROP USER lisa CASCADE;
```
#### 相关链接
[CREATE ROLE](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0264.html)，[CREATE USER](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0281.html)，[DROP USER](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0328.html)
