Creates a new Spanner database and starts to prepare it for serving. The returned long-running operation will have a name of the format <database_name>/operations/<operationId>
and can be used to track preparation of the database. The metadata field type is CreateDatabaseMetadata
. The response field type is Database
, if successful.
HTTP request
The URLs use gRPC Transcoding syntax.
Path parameters
parent
string
Required. The name of the instance that will serve the new database. Values are of the form projects/<project>/instances/<instance>
.
Authorization requires the following IAM
permission on the specified resource parent
:
-
spanner.databases.create
Request body
The request body contains data with the following structure:
| JSON representation |
|---|
{ "createStatement" : string , "extraStatements" : [ string ] , "encryptionConfig" : { object ( |
| Fields | |
|---|---|
createStatement
|
Required. A |
extraStatements[]
|
Optional. A list of DDL statements to run inside the newly created database. Statements can create tables, indexes, etc. These statements execute atomically with the creation of the database: if there is an error in any statement, the database is not created. |
encryptionConfig
|
Optional. The encryption configuration for the database. If this field is not specified, Cloud Spanner will encrypt/decrypt all data at rest using Google default encryption. |
databaseDialect
|
Optional. The dialect of the Cloud Spanner Database. |
protoDescriptors
|
Optional. Proto descriptors used by
For more details, see protobuffer self description . A base64-encoded string. |
Response body
If successful, the response body contains a newly created instance of Operation
.
Authorization scopes
Requires one of the following OAuth scopes:
-
https://www.googleapis.com/auth/spanner.admin -
https://www.googleapis.com/auth/cloud-platform
For more information, see the Authentication Overview .

