
# 创建数据库 - CreatePostgresqlDatabase
#### 功能介绍
在指定实例中创建数据库。
- 调用接口前，您需要了解API[认证鉴权](https://support.huaweicloud.com/api-rds/rds_03_0001.html)。
- 调用接口前，您需要了解[请求Header参数说明](https://support.huaweicloud.com/api-rds/rds_03_0005.html#rds_03_0005__section479119143310)。
 
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=RDS&api=CreatePostgresqlDatabase)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-rds/rds_10_0005.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
 
| 授权项                         | 访问级别 | 资源类型（\*为必须） | 条件键                                                                          | 别名 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| rds:database:createDatabase | -    | -           | g:EnterpriseProjectId g:ResourceTag/\<tag-key\> | -  | -      |
   
#### 接口约束
- 实例在创建、变更规格、修改端口、冻结、异常等状态下不能执行该操作。
- 如果通过V3接口之外的方式创建数据库，如自行登录节点或通过客户端工具创建数据库，数据库名称校验规则与V3接口不一致，调用V3接口执行数据库相关操作时可能会导致接口调用失败。
 
#### URI
- URI格式 POST /v3/{project_id}/instances/{*instance_id*}/database
  

- 参数说明
  表1参数说明 
  | 名称          | 是否必选 | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
  |:---|:---|:---|
  | project_id  | 是    | **参数解释：** 租户在某一region下的project ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-rds/rds_03_0002.html)。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                 |
  | instance_id | 是    | **参数解释：** 实例ID。 可调用[查询数据库实例列表](https://support.huaweicloud.com/api-rds/rds_01_0004.html)接口，通过[表4](https://support.huaweicloud.com/api-rds/rds_01_0004.html#rds_01_0004__table2058713718267)中的"id"获取。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
     
  
 
#### 请求消息
表2参数说明 
| 名称                         | 是否必选 | 参数类型    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| name                       | 是    | String  | **参数解释**： 数据库名称。 **约束限制**： 不涉及。 **取值范围**： 数据库名称长度可在1～63个字符之间，由字母、数字、或下划线组成，不能包含其他特殊字符，不能以"pg"和数字开头，且不能和RDS for PostgreSQL模板库重名。 RDS for PostgreSQL模板库包括postgres， template0 ，template1。 **默认取值**： 不涉及。                     |
| owner                      | 否    | String  | **参数解释**： 数据库所属用户。 **约束限制**： 不涉及。 **取值范围**： 不能和系统用户重名，且必须是已存在的用户。 系统用户包括rdsAdmin, rdsMetric, rdsBackup, rdsRepl, rdsProxy, rdsDdm, rdsDisaster。 **默认取值**： root                                                                                                       |
| template                   | 否    | String  | **参数解释**： 数据库模板名称。 **约束限制**： 不涉及。 **取值范围**： 可选值template0，template1。 **默认取值**： template1                                                                                                                                                                                                           |
| character_set              | 否    | String  | **参数解释**： 数据库字符集。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： UTF8                                                                                                                                                                                                                                   |
| lc_collate                 | 否    | String  | **参数解释**： 数据库排序集。 **约束限制**： 不同的排序规则下，相同字符串的比较其结果可能是不同的。 例如，在en_US.utf8下， **select 'a'\>'A';** 执行结果为false，但在'C'下，**select 'a'\>'A';**结果为true。如果数据库从Oracle迁移到PostgreSQL，数据库排序集需使用'C'才能得到一致的预期。支持的排序规则可以查询系统表 pg_collation。 **取值范围**： 不涉及。 **默认取值**： en_US.UTF-8 |
| lc_ctype                   | 否    | String  | **参数解释**： 数据库分类集。 **约束限制**： 不涉及。 **取值范围**： 支持的字符分类，可以查询系统表pg_collation。 **默认取值**： en_US.UTF-8                                                                                                                                                                                            |
| is_revoke_public_privilege | 否    | Boolean | **参数解释**： 是否回收public schema的**PUBLIC CREATE**权限。 **约束限制**： 不涉及。 **取值范围**： - true，表示回收该权限。  - false，表示不回收该权限。   **默认取值**： 不传该参数时默认是false。                               |
| comment                    | 否    | String  | **参数解释**： 数据库备注。 **约束限制**： 不涉及。 **取值范围**： 长度可在1\~512个字符之间。 **默认取值**： 不涉及。                                                                                                                                                                                                                      |
   
#### 请求示例
创建数据库rds_test。
```
POST https://{endpoint}/v3/0483b6b16e954cb88930a360d2c4e663/instances/f569f1358436479dbcba8603c32cc4aein03/database
{
    "name": "rds_test",
    "owner": "test",
    "template": "template0",
    "character_set": "UTF8",
    "lc_collate": "en_US.UTF-8",
    "lc_ctype": "en_US.UTF-8",
    "is_revoke_public_privilege": true,
    "comment":"comment"
}
```
#### 响应消息
- 正常响应要素说明
  表3要素说明 
  | 名称   | 参数类型   | 说明                                                                                                                                       |
  |:---|:---|:---|
  | resp | String | **参数解释**： 调用结果。 **取值范围**： 调用正常时，返回"successful"。 |
     
  

- 正常响应样例
  ```
  {
      "resp": "successful"
  }
  ```
  
- 异常响应 请参见[异常响应结果](https://support.huaweicloud.com/api-rds/rds_01_0010.html)。
  
 
#### 状态码
- 正常 200
  
- 异常 请参见[状态码](https://support.huaweicloud.com/api-rds/rds_10_0200.html)。
  
 
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-rds/rds_10_0201.html)。
