Updated on 2025-08-19 GMT+08:00

Creating a Database Schema

Function

This API is used to create a database schema in a specified instance. Before calling this API:

Constraints

This operation cannot be performed when the instance is in any of the following statuses: creating, changing instance specifications, frozen, or abnormal.

URI

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

Table 1 Parameter description

Parameter

Mandatory

Description

project_id

Yes

Definition

Project ID of a tenant in a region.

To obtain the value, see Obtaining a Project ID.

Constraints

N/A

Range

The value can contain 32 characters. Only letters and digits are allowed.

Default Value

N/A

instance_id

Yes

Definition

Instance ID, which uniquely identifies an instance.

Constraints

N/A

Range

The value can contain 36 characters. Only letters and digits are allowed.

Default Value

N/A

Request Parameters

Table 2 Parameter description

Parameter

Mandatory

Type

Description

db_name

Yes

String

Definition

Database name.

Constraints

The name cannot be a template database and must be an existing database name.

Template databases include postgres, template0, template1.

Range

N/A

Default Value

N/A

schemas

Yes

Array of objects

Definition

Schemas. Each element is the schema information associated with the database. A single request supports a maximum of 20 elements. For details, see Table 3.

Constraints

A single request supports a maximum of 20 elements.

Table 3 schemas field data structure description

Parameter

Mandatory

Type

Description

name

Yes

String

Definition

Schema name.

Constraints

The name cannot contain other special characters, cannot start with pg or a digit, and cannot be the same as the name of a template database or an existing schema. Template databases include postgres, template0, template1.

Existing schemas include public and information_schema.

Range

A schema name can contain 1 to 63 characters, including letters, digits, and underscores (_).

Default Value

N/A

owner

Yes

String

Definition

Database owner.

Constraints

The value cannot be a system user. It must be an existing database username.

System users: rdsAdmin, rdsMetric, rdsBackup, and rdsRepl.

Range

N/A

Default Value

N/A

Response Parameters

None

Example Request

Creating multiple schemas in the gaussdb_test database
POST https://gaussdb-opengauss.ap-southeast-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances/{instance_id}/schema
{ 
   "db_name" : "gaussdb_test", 
   "schemas" : [ { 
     "name" : "rds", 
     "owner" : "teste123" 
   }, { 
     "name" : "rds001", 
     "owner" : "teste123" 
   } ] 
 }

Example Response

None

Status Codes

Error Codes

For details, see Error Codes.