# 创建账号
#### 操作场景
创建TaurusDB for PostgreSQL数据库实例时，系统默认同步创建管理员root账号，您可根据业务需要，添加其他账号。
#### 约束限制
- 实例必须处于开机状态。
- 恢复中的实例，不可进行该操作。
 
#### 操作步骤
1. [登录管理控制台](https://console.huaweicloud.com)。
2. 单击管理控制台左上角的![](https://support.huaweicloud.com/usermanual-taurusdb-pg/figure/zh-cn_image_0000002284449134.png)，选择区域。
3. 单击页面左上角的![](https://support.huaweicloud.com/usermanual-taurusdb-pg/figure/zh-cn_image_0000002318985441.png)，选择"数据库 \> 云数据库 TaurusDB"。
4. 在"实例管理"页面，选择目标实例，单击实例名称，进入实例的"实例概览"页。
5. 在左侧导航栏，单击"账号管理"，单击"创建账号"。
6. 在弹出框中，输入账号名称、密码、权限和备注，单击"确定"。 
   图1创建账号   
   ![](https://support.huaweicloud.com/usermanual-taurusdb-pg/figure/zh-cn_image_0000002321221266.png "点击放大")
   
   表1参数说明 
   | 参数  | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   |:---|:---|
   | 账号名称 | 数据库账号名称在1到32个字符之间，由字母、数字、下划线组成，不能包含其他特殊字符，不能以pg和数字开头，不能和系统用户名称相同。系统用户包括：rdsAdmin，rdsMetric，rdsBackup，rdsRepl，rdsProxy，rdsDdm，rdsDisaster。 - rdsAdmin：管理账户，拥有最高权限，用于查询和修改实例信息、故障排查、迁移、恢复等操作。  - rdsRepl：复制账户，用于备实例或只读实例在主实例上同步数据。  - rdsBackup：备份账户，用于后台的备份。  - rdsMetric：指标监控账户，用于watchdog采集数据库状态数据。  - rdsProxy：数据库代理账户，该账户在开通读写分离时才会自动创建，用于通过读写分离地址连接数据库时鉴权使用。  - rdsDdm：分布式数据库中间件账户。  - rdsDisaster：容灾账户，用于搭建跨Region容灾。   |
   | 密码 | - 长度为8\~32个字符，至少包含大写字母、小写字母、数字、特殊字符三种字符的组合，其中允许输入 \~ ! @ # $ % \^ \* - _ = + ? , 特殊字符。  - 密码不能包含数据库账号名称或名称的逆序。  - 密码不能是易于破解的弱密码，否则会因弱密码拦截导致创建用户失败。建议您输入高强度密码，以提高安全性，防止出现密码被暴力破解等安全风险。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   | 权限 | 可以为创建的用户指定角色权限，包括CREATEDB、CREATEROLE、REPLICATION。 - CREATEDB：代表该用户具备创建数据库的权限。当不指定此属性时，新创建的用户默认无法创建数据库。  - CREATEROLE：代表该用户具备创建其它用户角色的权限。当不指定此属性时，默认无法使用此用户创建新用户。  - REPLICATION：代表该用户具备使用流复制或逻辑复制的能力。当不指定此属性时，默认无法使用此用户搭建流复制或逻辑复制。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 备注  | 长度可在0\~512个字符之间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
      
   
   
7. 数据库账号添加成功后，您可在当前实例的账号列表中，对其进行管理。
 
#### root用户权限说明
TaurusDB for PostgreSQL开放了root用户权限。为了便于用户使用TaurusDB for PostgreSQL并保证在无操作风险的前提下，为root用户在特定场景进行了提权。
**各个版本root** **用户提权情况见下表。**
表2root用户权限说明 
| 版本         | 是否提权 | 提权起始版本 |
|:---|:---|:---|
| pgcore16 | 是     | 16.2  |
   
**root** **提权涉及以下场景：**
- 创建事件触发器
- 创建包装器
- 创建逻辑复制-发布
- 创建逻辑复制-订阅
- 查询和维护复制源
- 创建replication用户
- 创建全文索引模板以及Parser
- 对系统表执行vacuum
- 对系统表执行analyze
- 创建插件
- 授予用户某个对象的权限
 
#### 创建Babelfish普通用户
连接到开启Babelfish的TaurusDB for PostgreSQL实例的TDS端口后，可以创建普通用户账号。
1. 通过TDS端口连接实例。
   ```
   sqlcmd -S <host>,1433 -U babelfish_user
   ```
   
2. 可以使用以下命令创建普通账号。更多信息可参阅[CREATE USER (Transact-SQL)](https://learn.microsoft.com/en-us/sql/t-sql/statements/create-user-transact-sql?view=sql-server-ver16)。
   ```
   -- Create a login.
   CREATE LOGIN test_babelfish_login WITH PASSWORD = '***';
   GO
   ```
   ```
   -- Creates a user for the login.
   CREATE USER test_babelfish_user FOR LOGIN test_babelfish_login;
   GO
   ```
   
 
