更新时间:2025-08-11 GMT+08:00

创建数据库

功能介绍

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

约束限制

该接口只支持单个数据库创建,实例在创建、变更规格、冻结、异常等状态下不能执行该操作。

URI

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

表1 参数说明

名称

是否必选

说明

project_id

参数解释:

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

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

约束限制:

不涉及。

取值范围:

只能由英文字母、数字组成,且长度为32个字符。

默认取值

不涉及。

instance_id

参数解释:

实例ID,此参数是用户创建实例的唯一标识。

约束限制:

不涉及。

取值范围:

只能由英文字母、数字组成,且长度为36个字符。

默认取值

不涉及。

请求参数

表2 参数说明

名称

是否必选

参数类型

说明

name

String

参数解释:

数据库名称。

约束限制:

不涉及。

取值范围:

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

默认取值:

不涉及。

character_set

String

参数解释:

数据库字符集。

约束限制:

不涉及。

取值范围:

请参考“开发指南 > SQL参考 > 字符集与字符序”章节。

默认取值:

不指定时,对于M-Compatibility数据库,默认使用utf8编码;其他默认使用模板数据库的编码。

owner

String

参数解释:

数据库所属用户。

约束限制:

不能和系统用户重名,且必须是已存在的用户。

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

取值范围:

不涉及。

默认取值:

root。

template

String

参数解释:

数据库模板名称。

约束限制:

集中式版V2.0-8.100及以上实例,新创建分布式版V2.0-8.200及上实例支持templatem模板,创建M兼容库。

取值范围:

template0、templatea、templatem。

默认取值:

不涉及。

lc_collate

String

参数解释:

数据库排序集。

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

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

C

lc_ctype

String

参数解释:

数据库分类集。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

默认C。

响应参数

无。

请求示例

创建一个GaussDB数据库,库名为gaussdb_test。
POST https://gaussdb-opengauss.ap-southeast-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances/{instance_id}/database
{ 
   "name" : "gaussdb_test", 
   "owner" : "test", 
   "template" : "template0", 
   "character_set" : "UTF8", 
   "lc_collate" : "en_US.UTF-8", 
   "lc_ctype" : "en_US.UTF-8" 
 }

响应示例

无。

状态码

错误码

请参见错误码