Create a database (Go)

Creates a database.

To replicate a database to additional datacenters, see Deploy an Astra DB Serverless database to multiple regions.

You need an application token with permission to create and configure databases, such as the Organization Administrator role.

For more information, see Get endpoint and token.

Result

Creates a database and returns a AstraDatabaseAdmin struct that can perform administrative actions on the newly-created database.

Parameters

Use the CreateDatabase method, which belongs to the AstraAdmin type.

Method signature
func (a *AstraAdmin) CreateDatabase(
  ctx context.Context,
  name string,
  params CreateDatabaseParams,
  opts ...options.CreateDatabaseOption
) (*AstraDatabaseAdmin, error)
Name Type Summary

ctx

context.Context

The context for the operation.

name

string

The name for the database.

Database names must follow these rules:

  • Must start and end with a letter or number

  • Can contain letters, numbers, and the special characters & + - _ ( ) < > . , @

  • Cannot exceed 50 characters

params

CreateDatabaseParams

The configuration for the database.

opts

…​options.DropDatabaseOption

Optional. A builder to generate options for this operation. See Methods of the DropDatabaseOption builder for more details.

Fields of the CreateDatabaseParams struct
Name Type Summary

CloudProvider

options.CloudProvider

The cloud provider that should host the database.

Region

string

The cloud provider region in which to create the database.

The available regions depend on your Astra plan and the database type. To find available regions, see Find available regions (Go).

PCUGroupUUID

string

Optional. The ID of the PCU group to use for provisioning the database. The specified PCU group must have the same cloud provider and region as the database. Only applicable for organizations that use PCU groups.

Default: No PCU group

DbType

string

To create a Serverless (vector) database, set this parameter to vector.

To create a Serverless (non-vector) database, set it to nonvector.

The Data API is supported for Serverless (vector) and Serverless (non-vector) databases generally. However, vector and reranking functionalities aren’t compatible with all databases, tables, or collections.

Default: vector

Tier

string

Optional. The database tier.

If specified, must be serverless.

Default: serverless

CapacityUnits

int

Optional. The number of capacity units for the database. This is unrelated to PCU group capacity.

If specified, must be 1.

Default: 1

Methods of the DropDatabaseOption builder
Method Summary

SetBlocking(v bool)

Optional. Whether to wait for the database to become active before returning. If false, the method returns immediately after issuing the creation request, but you cannot work with the database until it becomes active.

Default: true

SetPollInterval(v time.Duration)

Optional. Controls how often to check the database status if SetBlocking() is true.

Default: 10 seconds

SetKeyspace(v string)

Optional. The name for the database’s initial keyspace.

Default: default_keyspace

UpdateAPIOptions(v …​APIOption)

Optional. General API options for this operation, including the timeout.

Examples

The following examples demonstrate how to create a database.

package main

import (
	"context"
	"log"

	"github.com/datastax/astra-db-go/v2/astra"
)

func main() {
	ctx := context.Background()

	client := astra.NewClient()

	admin, err := client.Admin()

	if err != nil {
		log.Fatal(err)
	}

	admin.CreateDatabase(
		ctx,
		"DATABASE_NAME",
		astra.CreateDatabaseParams{
			CloudProvider: "gcp",
			Region:        "us-east1",
		},
	)
}

Client reference

For more information, see the client reference.

Was this helpful?

Give Feedback

How can we improve the documentation?

© Copyright IBM Corporation 2026 | Privacy policy | Terms of use Manage Privacy Choices

Apache, Apache Cassandra, Cassandra, Apache Tomcat, Tomcat, Apache Lucene, Apache Solr, Apache Hadoop, Hadoop, Apache Pulsar, Pulsar, Apache Spark, Spark, Apache TinkerPop, TinkerPop, Apache Kafka and Kafka are either registered trademarks or trademarks of the Apache Software Foundation or its subsidiaries in Canada, the United States and/or other countries. Kubernetes is the registered trademark of the Linux Foundation.

General Inquiries: Contact IBM