or run

tessl search
Log in

Version

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
golangpkg:golang/cloud.google.com/go/spanner@v1.87.0

docs

admin

database.mdinstance.md
client.mddml.mdindex.mdkeys.mdlow-level.mdprotobuf-types.mdreads.mdtesting.mdtransactions.mdtypes.mdwrites.md
tile.json

tessl/golang-cloud-google-com--go--spanner

tessl install tessl/golang-cloud-google-com--go--spanner@1.87.2

Official Google Cloud Spanner client library for Go providing comprehensive database operations, transactions, and admin functionality

database.mddocs/admin/

Database Administration

Database administration operations including creating, updating, dropping databases, DDL operations, and backup management.

DatabaseAdminClient

import database "cloud.google.com/go/spanner/admin/database/apiv1"

func NewDatabaseAdminClient(ctx context.Context, opts ...option.ClientOption) (*DatabaseAdminClient, error)
func NewDatabaseAdminRESTClient(ctx context.Context, opts ...option.ClientOption) (*DatabaseAdminClient, error)

Example:

ctx := context.Background()
adminClient, err := database.NewDatabaseAdminClient(ctx)
if err != nil {
    log.Fatal(err)
}
defer adminClient.Close()

Database Operations

CreateDatabase

func (c *DatabaseAdminClient) CreateDatabase(ctx context.Context, req *databasepb.CreateDatabaseRequest, opts ...gax.CallOption) (*CreateDatabaseOperation, error)

func (c *DatabaseAdminClient) CreateDatabaseWithRetry(ctx context.Context, req *databasepb.CreateDatabaseRequest, opts ...gax.CallOption) (*CreateDatabaseOperation, error)

Example:

op, err := adminClient.CreateDatabase(ctx, &databasepb.CreateDatabaseRequest{
    Parent:          "projects/my-project/instances/my-instance",
    CreateStatement: "CREATE DATABASE my-database",
    ExtraStatements: []string{
        `CREATE TABLE Users (
            ID INT64 NOT NULL,
            Name STRING(100),
            Email STRING(100),
        ) PRIMARY KEY (ID)`,
    },
})
if err != nil {
    log.Fatal(err)
}

db, err := op.Wait(ctx)
if err != nil {
    log.Fatal(err)
}
fmt.Printf("Created database: %s\n", db.Name)

GetDatabase

func (c *DatabaseAdminClient) GetDatabase(ctx context.Context, req *databasepb.GetDatabaseRequest, opts ...gax.CallOption) (*databasepb.Database, error)

ListDatabases

func (c *DatabaseAdminClient) ListDatabases(ctx context.Context, req *databasepb.ListDatabasesRequest, opts ...gax.CallOption) *DatabaseIterator

UpdateDatabase

func (c *DatabaseAdminClient) UpdateDatabase(ctx context.Context, req *databasepb.UpdateDatabaseRequest, opts ...gax.CallOption) (*UpdateDatabaseOperation, error)

DropDatabase

func (c *DatabaseAdminClient) DropDatabase(ctx context.Context, req *databasepb.DropDatabaseRequest, opts ...gax.CallOption) error

Example:

err := adminClient.DropDatabase(ctx, &databasepb.DropDatabaseRequest{
    Database: "projects/my-project/instances/my-instance/databases/my-database",
})

DDL Operations

UpdateDatabaseDdl

func (c *DatabaseAdminClient) UpdateDatabaseDdl(ctx context.Context, req *databasepb.UpdateDatabaseDdlRequest, opts ...gax.CallOption) (*UpdateDatabaseDdlOperation, error)

Example:

op, err := adminClient.UpdateDatabaseDdl(ctx, &databasepb.UpdateDatabaseDdlRequest{
    Database: "projects/my-project/instances/my-instance/databases/my-database",
    Statements: []string{
        "CREATE TABLE Accounts (ID INT64, Balance INT64) PRIMARY KEY (ID)",
        "CREATE INDEX AccountsByBalance ON Accounts(Balance)",
    },
})
if err != nil {
    log.Fatal(err)
}

if err := op.Wait(ctx); err != nil {
    log.Fatal(err)
}

GetDatabaseDdl

func (c *DatabaseAdminClient) GetDatabaseDdl(ctx context.Context, req *databasepb.GetDatabaseDdlRequest, opts ...gax.CallOption) (*databasepb.GetDatabaseDdlResponse, error)

Backup Operations

CreateBackup

func (c *DatabaseAdminClient) CreateBackup(ctx context.Context, req *databasepb.CreateBackupRequest, opts ...gax.CallOption) (*CreateBackupOperation, error)

func (c *DatabaseAdminClient) StartBackupOperation(ctx context.Context, backupID string, databasePath string, expireTime time.Time, opts ...gax.CallOption) (*CreateBackupOperation, error)

GetBackup, UpdateBackup, DeleteBackup

func (c *DatabaseAdminClient) GetBackup(ctx context.Context, req *databasepb.GetBackupRequest, opts ...gax.CallOption) (*databasepb.Backup, error)
func (c *DatabaseAdminClient) UpdateBackup(ctx context.Context, req *databasepb.UpdateBackupRequest, opts ...gax.CallOption) (*databasepb.Backup, error)
func (c *DatabaseAdminClient) DeleteBackup(ctx context.Context, req *databasepb.DeleteBackupRequest, opts ...gax.CallOption) error

ListBackups

func (c *DatabaseAdminClient) ListBackups(ctx context.Context, req *databasepb.ListBackupsRequest, opts ...gax.CallOption) *BackupIterator

CopyBackup

func (c *DatabaseAdminClient) CopyBackup(ctx context.Context, req *databasepb.CopyBackupRequest, opts ...gax.CallOption) (*CopyBackupOperation, error)

RestoreDatabase

func (c *DatabaseAdminClient) RestoreDatabase(ctx context.Context, req *databasepb.RestoreDatabaseRequest, opts ...gax.CallOption) (*RestoreDatabaseOperation, error)

Backup Schedule Operations

func (c *DatabaseAdminClient) CreateBackupSchedule(ctx context.Context, req *databasepb.CreateBackupScheduleRequest, opts ...gax.CallOption) (*databasepb.BackupSchedule, error)
func (c *DatabaseAdminClient) GetBackupSchedule(ctx context.Context, req *databasepb.GetBackupScheduleRequest, opts ...gax.CallOption) (*databasepb.BackupSchedule, error)
func (c *DatabaseAdminClient) UpdateBackupSchedule(ctx context.Context, req *databasepb.UpdateBackupScheduleRequest, opts ...gax.CallOption) (*databasepb.BackupSchedule, error)
func (c *DatabaseAdminClient) DeleteBackupSchedule(ctx context.Context, req *databasepb.DeleteBackupScheduleRequest, opts ...gax.CallOption) error
func (c *DatabaseAdminClient) ListBackupSchedules(ctx context.Context, req *databasepb.ListBackupSchedulesRequest, opts ...gax.CallOption) *BackupScheduleIterator

IAM Operations

func (c *DatabaseAdminClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error)
func (c *DatabaseAdminClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error)
func (c *DatabaseAdminClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error)

Other Operations

func (c *DatabaseAdminClient) ListDatabaseOperations(ctx context.Context, req *databasepb.ListDatabaseOperationsRequest, opts ...gax.CallOption) *OperationIterator
func (c *DatabaseAdminClient) ListBackupOperations(ctx context.Context, req *databasepb.ListBackupOperationsRequest, opts ...gax.CallOption) *OperationIterator
func (c *DatabaseAdminClient) ListDatabaseRoles(ctx context.Context, req *databasepb.ListDatabaseRolesRequest, opts ...gax.CallOption) *DatabaseRoleIterator
func (c *DatabaseAdminClient) AddSplitPoints(ctx context.Context, req *databasepb.AddSplitPointsRequest, opts ...gax.CallOption) (*databasepb.AddSplitPointsResponse, error)

Operations Management

Long-running operations return operation objects:

type CreateDatabaseOperation struct { }
type UpdateDatabaseOperation struct { }
type UpdateDatabaseDdlOperation struct { }
type CreateBackupOperation struct { }
type CopyBackupOperation struct { }
type RestoreDatabaseOperation struct { }

// Common operation methods
func (op *Operation) Done() bool
func (op *Operation) Wait(ctx context.Context, opts ...gax.CallOption) (*Result, error)
func (op *Operation) Poll(ctx context.Context, opts ...gax.CallOption) (*Result, error)
func (op *Operation) Metadata() (*Metadata, error)
func (op *Operation) Name() string

See protobuf-types.md for request/response message definitions.