gcloud spanner databases create

NAME
gcloud spanner databases create - create a Cloud Spanner database
SYNOPSIS
gcloud spanner databases create(DATABASE :--instance=INSTANCE)[--async][--database-dialect=DATABASE_DIALECT][--ddl=DDL][--ddl-file=DDL_FILE][--proto-descriptors-file=PROTO_DESCRIPTORS_FILE][--kms-keys=[KMS_KEYS,…]    | [--kms-key=KMS_KEY :--kms-keyring=KMS_KEYRING--kms-location=KMS_LOCATION--kms-project=KMS_PROJECT]][GCLOUD_WIDE_FLAG]
DESCRIPTION
Create a Cloud Spanner database.
EXAMPLES
To create an empty Cloud Spanner database, run:
gcloudspannerdatabasescreatetestdb--instance=my-instance-id

To create a Cloud Spanner database with populated schema, run:

gcloudspannerdatabasescreatetestdb--instance=my-instance-id--ddl='CREATE TABLE mytable (a INT64, b INT64) PRIMARY KEY(a)'

To create a Cloud Spanner database with the PostgreSQL dialect, run:

gcloudspannerdatabasescreatetestdb--instance=my-instance-id--database-dialect=POSTGRESQL
POSITIONAL ARGUMENTS
Database resource - The Cloud Spanner database to create. The arguments in thisgroup can be used to specify the attributes of this resource. (NOTE) Someattributes are not given arguments in this group but can be set in other ways.

To set theproject attribute:

  • provide the argumentdatabase on the command line with a fullyspecified name;
  • provide the argument--project on the command line;
  • set the propertycore/project.

This must be specified.

DATABASE
ID of the database or fully qualified identifier for the database.

To set thedatabase attribute:

  • provide the argumentdatabase on the command line.

This positional argument must be specified if any of the other arguments in thisgroup are specified.

--instance=INSTANCE
The Cloud Spanner instance for the database.

To set theinstance attribute:

  • provide the argumentdatabase on the command line with a fullyspecified name;
  • provide the argument--instance on the command line;
  • set the propertyspanner/instance.
FLAGS
--async
Return immediately, without waiting for the operation in progress to complete.
--database-dialect=DATABASE_DIALECT
The SQL dialect of the Cloud Spanner Database. GOOGLE_STANDARD_SQL is thedefault.DATABASE_DIALECT must be one of:POSTGRESQL,GOOGLE_STANDARD_SQL.
--ddl=DDL
Semi-colon separated DDL (data definition language) statements to run inside thenewly created database. If there is an error in any statement, the database isnot created. This option is not supported for the PostgreSQL dialect. Full DDLspecification is athttps://cloud.google.com/spanner/docs/data-definition-language
--ddl-file=DDL_FILE
Path of a file that contains semi-colon separated DDL (data definition language)statements to run inside the newly created database. If there is an error in anystatement, the database is not created. This option is not supported for thePostgreSQL dialect. Full DDL specification is athttps://cloud.google.com/spanner/docs/data-definition-language.If --ddl_file is set, --ddl is ignored. One line comments starting with -- areignored.
--proto-descriptors-file=PROTO_DESCRIPTORS_FILE
Path of a file that contains a protobuf-serializedgoogle.protobuf.FileDescriptorSet message. To generate it, install and runprotoc with --include_imports and --descriptor_set_out.
KMS key name group

At most one of these can be specified:

Key resource - Cloud KMS key(s) to be used to create the Cloud Spanner database.This represents a Cloud resource. (NOTE) Some attributes are not given argumentsin this group but can be set in other ways.

To set thekms-project attribute:

  • provide the argument--kms-keys on the command line with a fullyspecified name.

To set thekms-location attribute:

  • provide the argument--kms-keys on the command line with a fullyspecified name.

To set thekms-keyring attribute:

  • provide the argument--kms-keys on the command line with a fullyspecified name.
--kms-keys=[KMS_KEYS,…]
IDs of the keys or fully qualified identifiers for the keys.

To set thekms-key attribute:

  • provide the argument--kms-keys on the command line.
Key resource - Cloud KMS key to be used to create the Cloud Spanner database.The arguments in this group can be used to specify the attributes of thisresource.
--kms-key=KMS_KEY
ID of the key or fully qualified identifier for the key.

To set thekms-key attribute:

  • provide the argument--kms-key on the command line.

This flag argument must be specified if any of the other arguments in this groupare specified.

--kms-keyring=KMS_KEYRING
KMS keyring id of the key.

To set thekms-keyring attribute:

  • provide the argument--kms-key on the command line with a fullyspecified name;
  • provide the argument--kms-keyring on the command line.
--kms-location=KMS_LOCATION
Cloud location for the key.

To set thekms-location attribute:

  • provide the argument--kms-key on the command line with a fullyspecified name;
  • provide the argument--kms-location on the command line.
--kms-project=KMS_PROJECT
Cloud project id for the key.

To set thekms-project attribute:

  • provide the argument--kms-key on the command line with a fullyspecified name;
  • provide the argument--kms-project on the command line.
GCLOUD WIDE FLAGS
These flags are available to all commands:--access-token-file,--account,--billing-project,--configuration,--flags-file,--flatten,--format,--help,--impersonate-service-account,--log-http,--project,--quiet,--trace-token,--user-output-enabled,--verbosity.

Run$gcloud help for details.

NOTES
These variants are also available:
gcloudalphaspannerdatabasescreate
gcloudbetaspannerdatabasescreate

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-05-07 UTC.