Use the Go SQL package to connect to Spanner Omni

The Go SQL package is a generic interface around SQL (or SQL-like) databases for the Go programming language. The Spanner driver for the Go SQL package lets you use this standard interface to interact with your Spanner databases.

This document describes how to configure the Go SQL package driver to connect to Spanner Omni. The driver works with Spanner Omni in the same way it works with Spanner, supporting both GoogleSQL and PostgreSQL database dialects.

Prerequisites

To use the Go SQL package to connect to Spanner Omni, ensure you meet the following requirements:

  • Use version 1.23.0 or later of the Go SQL package.

  • Add the following module to your go.mod file to use the driver in your application:

    gogetgithub.com/googleapis/go-sql-spanner
    

Establish a connection

Run one of the following commands to establish a connection with Spanner Omni:

Plain-text communication

To establish a plain-text communication channel, run the following command:

db,err:=sql.Open("spanner","ENDPOINT/databases/DATABASE_ID?use_plain_text=true;is_experimental_host=true")

TLS connection

To establish a secure TLS connection, run the following command:

db,err:=sql.Open("spanner","ENDPOINT/databases/DATABASE_ID?ca_cert_file=PATH_TO_CA_CRT;is_experimental_host=true")

mTLS connection

To establish a mutual TLS (mTLS) connection, run the following command:

db,err:=sql.Open("spanner","ENDPOINT/databases/DATABASE_ID?ca_cert_file=PATH_TO_CA_CRT;client_cert_file=PATH_TO_CLIENT_CRT;client_cert_key=PATH_TO_CLIENT_KEY;is_experimental_host=true")

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2026年08月26日 UTC.