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.
Constraints
- This operation cannot be performed 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 a 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
- Parameter description
Table 1 Parameter description Name
Mandatory
Description
project_id
Yes
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
Name |
Mandatory |
Type |
Description |
---|---|---|---|
name |
Yes |
String |
Specifies the database name. The database name can contain 1 to 63 characters. Only letters, digits, and underscores (_) are allowed. It cannot start with pg or a digit and cannot be the same as RDS for PostgreSQL template database names. RDS for PostgreSQL template databases 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. |
is_revoke_public_privilege |
No |
Boolean |
Specifies whether to revoke the PUBLIC CREATE permission of the public schema.
If this parameter is not specified, the default value is false. |
Example Request
Create a database named 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 }
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
- Normal
- Abnormal
For details, see Status Codes.
Error Code
For details, see Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot