Creating a Database
Function
This API is used to create a database in a specified DB instance.
- Before calling an API, you need to understand the API in Authentication.
- Before calling this API, obtain the required region and endpoint.
Constraints
- Databases cannot be created when the DB instance is in any of the following statuses: creating, changing instance class, changing port, frozen, or abnormal.
- If you create a database using other methods instead of invoking an v3 API, for example, logging in to a node or using a client tool, the database name verification rule is inconsistent with that of the v3 API. As a result, the v3 API may fail to be invoked to perform operations on the database.
URI
- URI format
POST https://{Endpoint}/v3/{project_id}/instances/{instance_id}/database
- Example
https://rds.cn-north-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances/dsfae23fsfdsae3435in01/database
- Parameter description
Table 1 Parameter description Name
Mandatory
Description
project_id
Yes
Specifies the project ID of a tenant in a region.
For details about how to obtain the project ID, see Obtaining a Project ID.
instance_id
Yes
Specifies the DB instance ID.
Request
- Parameter description
Table 2 Parameter description Name
Mandatory
Type
Description
name
Yes
String
Specifies the database name.
The value contains 1 to 63 characters, including letters, digits, and underscores (_). It cannot start with pg or a digit, and must be different from RDS for PostgreSQL template library names.
RDS for PostgreSQL template libraries include postgres, template0 and template1.
owner
No
String
Specifies the database user. The default value is root. The value must be an existing username and must be different from system usernames.
System users include rdsAdmin, rdsMetric, rdsBackup, rdsRepl, rdsProxy, and rdsDdm.
template
No
String
Specifies the name of the database template. The value can be template0 or template1 (default value).
character_set
No
String
Specifies the database character set. The default value is UTF8.
lc_collate
No
String
Specifies the database collocation. The default value is en_US.UTF-8.
NOTICE:For different collation rules, the execution result of a statement may be different.
For example, the execution result of select 'a'>'A'; is false when this parameter is set to en_US.utf8 and is true when this parameter is set to 'C'. If a database is migrated from "O" to PostgreSQL, this parameter needs to be set to 'C' to meet your expectations. You can query the supported collation rules from the pg_collation table.
lc_ctype
No
String
Specifies the database classification. The default value is en_US.UTF-8.
- Request example
{ "name": "rds_test", "owner": "test", "template": "template0", "character_set": "UTF8", "lc_collate": "en_US.UTF-8", "lc_ctype": "en_US.UTF-8" }
Response
- Normal response
Table 3 Parameter description Name
Type
Description
resp
String
Returns successful if the invoking is successful.
- Example normal response
{ "resp": "successful" } - Abnormal response
For details, see Abnormal Request Results.
Status Code
For details, see Status Codes.
Error Code
For details, see Error Codes.
Last Article: Database and Account Management (PostgreSQL)
Next Article: Creating a Database Account
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.