
# ALTER GROUP
#### 功能描述
更改角色名称或者成员关系。
#### 注意事项
- ALTER GROUP为非SQL标准语法，不推荐使用。
- 其中ADD USER、DROP USER两个子句用于向用户组增加或删除用户（任何用户都可以是"用户"或者"用户组"）。这两个子句等效于授予或者回收成员关系，因此建议使用GRANT或者REVOKE语句。
- RENAME TO子句修改用户组名称，等效于ALTER USER命名角色。
 
#### 语法格式
- 向用户组中添加用户。
  ```
  ALTER GROUP group_name 
      ADD USER user_name [, ... ];
  ```
  ![](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/figure/zh-cn_image_0000002527053746.png "点击放大")
  

- 从用户组中删除用户。
  ```
  ALTER GROUP group_name 
      DROP USER user_name [, ... ];
  ```
  ![](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/figure/zh-cn_image_0000002558053639.png "点击放大")
  
- 修改用户组的名称。
  ```
  ALTER GROUP group_name 
      RENAME TO new_name;
  ```
  ![](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/figure/zh-cn_image_0000002558213605.png "点击放大")
  
 
#### 参数说明
- **user_name**
  现有角色名。
  取值范围：已存在的角色名，角色名要求详见[•role_name](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0074.html#ZH-CN_TOPIC_0000002558925203__zh-cn_topic_0000002526893544_zh-cn_topic_0000001736086472_zh-cn_topic_0283136858_zh-cn_topic_0237122112_zh-cn_topic_0059778189_ldaa273d86f824d5cb105bb3f8f3301e5)。
  
- **group_name**
  现有用户组名。
  取值范围：已存在的角色名，角色名要求详见[•role_name](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0074.html#ZH-CN_TOPIC_0000002558925203__zh-cn_topic_0000002526893544_zh-cn_topic_0000001736086472_zh-cn_topic_0283136858_zh-cn_topic_0237122112_zh-cn_topic_0059778189_ldaa273d86f824d5cb105bb3f8f3301e5)。
  

- **new_name**
  新角色名称。
  取值范围：字符串，要符合[标识符命名规范](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0040.html#ZH-CN_TOPIC_0000002558805265)，角色名要求详见[•role_name](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0074.html#ZH-CN_TOPIC_0000002558925203__zh-cn_topic_0000002526893544_zh-cn_topic_0000001736086472_zh-cn_topic_0283136858_zh-cn_topic_0237122112_zh-cn_topic_0059778189_ldaa273d86f824d5cb105bb3f8f3301e5)。
  
 
#### 示例
- 重命名用户组。
  ```
  --创建用户组test。
  m_db=# CREATE GROUP test PASSWORD '********';
  --修改用户名，等效于ALTER GROUP RENAME。
  m_db=# ALTER GROUP test RENAME TO tu_a1;
  ```
  
- 向用户组中添加或者删除用户。
  ```
  --创建用户tu_a2、tu_a3。
  m_db=# CREATE ROLE tu_a2 PASSWORD '********';
  m_db=# CREATE ROLE tu_a3 PASSWORD '********';
  --向用户组tu_a1中添加用户tu_a2。
  m_db=# ALTER GROUP tu_a1 ADD USER tu_a2;
  --如上SQL等效于GRANT语句。
  m_db=# GRANT tu_a1 TO tu_a3;
  --查询。
  m_db=# SELECT groname, grolist FROM pg_group WHERE groname = 'tu_a1';
   groname |    grolist    
  ---------+---------------
   tu_a1   | {25590,25593}
  (1 row)
  m_db=# SELECT rolname, oid FROM pg_roles WHERE oid IN (25590,25593);
   rolname |  oid  
  ---------+-------
   tu_a2   | 25590
   tu_a3   | 25593
  (2 rows)
  --删除。
  m_db=# DROP ROLE tu_a1,tu_a2,tu_a3;
  ```
  
 
#### 相关链接
[CREATE GROUP](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0072.html#ZH-CN_TOPIC_0000002527805468)，[DROP GROUP](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0088.html#ZH-CN_TOPIC_0000002527805478)，[ALTER ROLE](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0052.html#ZH-CN_TOPIC_0000002527805456)
