You can call the CreateDatabase operation to create a database on an ApsaraDB RDS instance.

If you want to perform data management tasks such as data change and schema design, use Data Management (DMS). For more information, see List of operations by function of DMS.

Before you call this operation, make sure that the following requirements are met:

  • The instance is in the Running state.
  • The maximum number of databases for the instance is not reached. You can call the DescribeDBInstanceAttribute operation to query the maximum number of databases.
  • The instance is not a read-only instance.
    • This operation is not supported for instances that run SQL Server 2017 EE (cluster edition) or PostgreSQL with local SSDs. If the instance runs one of these database engine versions, you can execute the CREATE DATABASE statement to create a database.
    • If you call this operation to create a database on an ApsaraDB RDS for PostgreSQL instance, you cannot configure the Collate and Ctype parameters for the database. If you want to configure the parameters, you must connect your client to the instance and then configure the parameters.


OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.

Request parameters

Parameter Type Required Example Description
Action String Yes CreateDatabase

The operation that you want to perform. Set the value to CreateDatabase.

DBInstanceId String Yes rm-uf6wjk5xxxxxxxxxx

The ID of the instance.

DBName String Yes rds_mysql

The name of the database.

  • The name must be 2 to 64 characters in length.
  • The name must start with a lowercase letter and end with a lowercase letter or digit.
  • The name can contain lowercase letters, digits, underscores (_), and hyphens (-).
  • The name must be unique within the instance.
  • For more information about invalid characters, see Forbidden keywords table.
CharacterSetName String Yes gbk

The character set.

  • Valid values for MySQL or MariaDB TX databases: utf8, gbk, latin1, and utf8mb4
  • Valid values for SQL Server databases: Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, and Chinese_PRC_BIN
  • Valid values for PostgreSQL databases: KOI8U, UTF8, WIN866, WIN874, WIN1250, WIN1251, WIN1252, WIN1253, WIN1254, WIN1255, WIN1256, WIN1257, WIN1258, EUC_CN, EUC_KR, EUC_TW, EUC_JP, EUC_JIS_2004, KOI8R, MULE_INTERNAL, LATIN1, LATIN2, LATIN3, LATIN4, LATIN5, LATIN6, LATIN7, LATIN8, LATIN9, LATIN10, ISO_8859_5, ISO_8859_6, ISO_8859_7, ISO_8859_8, and SQL_ASCII
DBDescription String No Test database

The description of the database. The description must be 2 to 256 characters in length and can contain letters, digits, underscores (_), and hyphens (-). The description must start with a letter.

Note The description cannot start with http:// or https://.

Response parameters

Parameter Type Example Description
RequestId String 5A77D650-27A1-4E08-AD9E-59008EDB6927

The ID of the request.


Sample requests

&<Common request parameters>

Sample success responses

XML format

HTTP/1.1 200 OK


JSON format

HTTP/1.1 200 OK

  "RequestID" : "5A77D650-27A1-4E08-AD9E-59008EDB6927"

Error codes

HTTP status code Error code Error message Description
400 EngineMigration.ActionDisabled Specified action is disabled while custins is in engine migration. The error message returned because the specified operation is disabled during the engine migration for the instance.
400 Database.AddError Create Db failed, please check input value and instance status The error message returned because the database fails to be created. Check the input parameters and the instance status.
400 Database.ConnectError Database connect error. please check instance status and database processlist The error message returned because the database connection is abnormal. Check the instance status and the connection pool of the database.

For a list of error codes, visit the API Error Center.