Package cloud.google.com/go/alloydbconn/driver/pgxv4 (v1.2.2)

Package pgxv4 provides an AlloyDB driver that uses pgx v4 and works with the database/sql package.

Functions

func RegisterDriver

func RegisterDriver(name string, opts ...alloydbconn.Option) (func() error, error)

RegisterDriver registers a Postgres driver that uses the alloydbconn.Dialer configured with the provided options. The choice of name is entirely up to the caller and may be used to distinguish between multiple registrations of differently configured Dialers. The driver uses pgx/v4 internally. RegisterDriver returns a cleanup function that should be called one the database connection is no longer needed.

Example

package main

import (
	"database/sql"
	"log"
	"time"

	"cloud.google.com/go/alloydbconn/driver/pgxv4"
)

func main() {
	// Note that sslmode=disable is required it does not mean that the connection
	// is unencrypted. All connections via the proxy are completely encrypted.
	pgxv4.RegisterDriver("alloydb")
	db, err := sql.Open(
		"alloydb",
		"host=project:region:instance user=postgres dbname=postgres password=password sslmode=disable",
	)
	if err != nil {
		log.Fatal(err)
	}
	defer db.Close()
	var now time.Time
	if err := db.QueryRow("SELECT NOW()").Scan(&now); err != nil {
		log.Fatal(err)
	}
	log.Println(now)
}