使用 Go SQL 软件包连接到 Spanner Omni

Go SQL 软件包是 Go 编程语言的 SQL(或类似 SQL)数据库的通用接口。Go SQL 软件包的 Spanner 驱动程序可让您使用此标准接口与 Spanner 数据库进行交互。

本文档介绍了如何配置 Go SQL 软件包驱动程序以连接到 Spanner Omni。该驱动程序与 Spanner Omni 的搭配使用方式与 Spanner 相同,同时支持 GoogleSQL 和 PostgreSQL 数据库方言。

前提条件

如需使用 Go SQL 软件包连接到 Spanner Omni,请确保满足以下要求:

  • 使用 Go SQL 软件包的1.23.0 版或更高版本。

  • 将以下模块添加到 go.mod 文件,以便在应用中使用该驱动程序:

    go get github.com/googleapis/go-sql-spanner
    

建立连接

运行以下任一命令,以建立与 Spanner Omni 的连接:

纯文本通信

如需建立纯文本通信渠道,请运行以下命令:

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

TLS 连接

如需建立安全的 TLS 连接,请运行以下命令:

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

mTLS 连接

如需建立双向 TLS (mTLS) 连接,请运行以下命令:

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")