更新时间:2024-03-28 GMT+08:00

创建数据库

功能介绍

在指定实例中创建数据库。

接口约束

  • 实例在创建、变更规格、修改端口、冻结、异常等状态下不能执行该操作。
  • 如果通过V3接口之外的方式创建数据库,如自行登录节点或通过客户端工具创建数据库,数据库名称校验规则与V3接口不一致,调用V3接口执行数据库相关操作时可能会导致接口调用失败。

URI

  • URI格式

    POST /v3/{project_id}/instances/{instance_id}/database

  • 参数说明
    表1 参数说明

    名称

    是否必选

    说明

    project_id

    租户在某一Region下的项目ID。

    获取方法请参见获取项目ID

    instance_id

    实例ID。

请求消息

表2 参数说明

名称

是否必选

参数类型

说明

name

String

数据库名称。

数据库名称长度可在1~63个字符之间,由字母、数字、或下划线组成,不能包含其他特殊字符,不能以“pg”和数字开头,且不能和RDS for PostgreSQL模板库重名。

RDS for PostgreSQL模板库包括postgrestemplate0 ,template1

owner

String

数据库所属用户,缺省时默认是root,不能和系统用户重名,且必须是已存在的用户。

系统用户包括“rdsAdmin”,“ rdsMetric”, “rdsBackup”, “rdsRepl”,“ rdsProxy”, “rdsDdm”。

template

String

数据库模板名称,可选值template0,template1。默认template1。

character_set

String

数据库字符集。默认UTF8。

lc_collate

String

数据库排序集。默认en_US.UTF-8。

须知:

不同的排序规则下,相同字符串的比较其结果可能是不同的。

例如,在en_US.utf8下, select 'a'>'A';执行结果为false,但在'C'下,select 'a'>'A';结果为true。如果数据库从“O”迁移到PostgreSQL,数据库排序集需使用'C'才能得到一致的预期。支持的排序规则可以查询系统表 pg_collation。

lc_ctype

String

数据库分类集。默认en_US.UTF-8。

is_revoke_public_privilege

Boolean

是否回收public schema的PUBLIC CREATE权限。

  • true,表示回收该权限。
  • false,表示不回收该权限。

不传该参数时默认是false。

请求示例

创建数据库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
}

响应消息

  • 正常响应要素说明
    表3 要素说明

    名称

    参数类型

    说明

    resp

    String

    调用正常时,返回“successful”。

状态码

错误码

请参见错误码