gocloud.dev: gocloud.dev/postgres/gcppostgres Index | Examples | Files

package gcppostgres

import "gocloud.dev/postgres/gcppostgres"

Package gcppostgres provides connections to managed PostgreSQL Cloud SQL instances. See https://cloud.google.com/sql/docs/postgres/ for more information.

URLs

For postgres.Open, gcppostgres registers for the scheme "gcppostgres". The default URL opener will create a connection using the default credentials from the environment, as described in https://cloud.google.com/docs/authentication/production. To customize the URL opener, or for more details on the URL format, see URLOpener.

See https://gocloud.dev/concepts/urls/ for background information.

Code:

// PRAGMA: This example is used on gocloud.dev; PRAGMA comments adjust how it is shown and can be ignored.
// PRAGMA: On gocloud.dev, add a blank import: _ "gocloud.dev/postgres/gcppostgres"
// PRAGMA: On gocloud.dev, hide lines until the next blank line.
ctx := context.Background()

// Replace this with your actual settings.
db, err := postgres.Open(ctx,
    "gcppostgres://user:password@example-project/region/my-instance01/testdb")
if err != nil {
    log.Fatal(err)
}
defer db.Close()

// Use database in your program.
db.Exec("CREATE TABLE foo (bar INT);")

Index

Examples

Package Files

gcppostgres.go

Constants

const Scheme = "gcppostgres"

Scheme is the URL scheme gcppostgres registers its URLOpener under on postgres.DefaultMux.

type URLOpener Uses

type URLOpener struct {
    // CertSource specifies how the opener will obtain authentication information.
    // CertSource must not be nil.
    CertSource proxy.CertSource

    // TraceOpts contains options for OpenCensus.
    TraceOpts []ocsql.TraceOption
}

URLOpener opens GCP PostgreSQL URLs like "gcppostgres://user:password@myproject/us-central1/instanceId/mydb".

func (*URLOpener) OpenPostgresURL Uses

func (uo *URLOpener) OpenPostgresURL(ctx context.Context, u *url.URL) (*sql.DB, error)

OpenPostgresURL opens a new GCP database connection wrapped with OpenCensus instrumentation.

Package gcppostgres imports 16 packages (graph). Updated 2019-09-17. Refresh now. Tools for package owners.