Updated on 2024-12-13 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 https://{Endpoint}/v3/{project_id}/instances/{instance_id}/schema

Table 1 Parameter description

Parameter

Mandatory

Description

project_id

Yes

Explanation:

Project ID of a tenant in a region.

For details about how to obtain the value, see Obtaining a Project ID.

Restrictions:

None

Value range:

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

Default value:

None

instance_id

Yes

Instance ID.

Request Parameters

Table 2 Parameter description

Parameter

Mandatory

Type

Description

db_name

Yes

String

Database name.

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

Template databases include postgres, template0, template1.

schemas

Yes

Array of objects

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.

Table 3 schemas field data structure description

Parameter

Mandatory

Type

Description

name

Yes

String

Schema name.

The value can contain 1 to 63 characters. Only letters, digits, and underscores (_) are allowed. It cannot start with pg or a digit, and must be different from template database names and existing schema names. Template databases include postgres, template0, template1.

Existing schemas include public and information_schema.

owner

Yes

String

Owner of the schema.

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

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

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 Code

Error Code

For details, see Error Codes.