gcppostgres

package
v0.18.1-0...-1aa001a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 27, 2020 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

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://github.com/kainoaseto/go-cloud/concepts/urls/ for background information.

Example
package main

import (
	"context"
	"log"

	"github.com/kainoaseto/go-cloud/postgres"
	_ "github.com/kainoaseto/go-cloud/postgres/gcppostgres"
)

func main() {
	// PRAGMA: This example is used on github.com/kainoaseto/go-cloud; PRAGMA comments adjust how it is shown and can be ignored.
	// PRAGMA: On github.com/kainoaseto/go-cloud, add a blank import: _ "github.com/kainoaseto/go-cloud/postgres/gcppostgres"
	// PRAGMA: On github.com/kainoaseto/go-cloud, 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);")
}
Output:

Index

Examples

Constants

View Source
const Scheme = "gcppostgres"

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

Variables

This section is empty.

Functions

This section is empty.

Types

type URLOpener

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

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

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL