将 Spanner 与 GORM(PostgreSQL 方言)集成

GORM 是适用于 Go 编程语言的对象关系映射工具。它提供了一个框架,用于将面向对象的领域模型映射到关系型数据库。

您可以使用标准 PostgreSQL pgx 驱动程序和 PGAdapter 将 Spanner PostgreSQL 数据库与 GORM 集成。

使用 Spanner PostgreSQL 方言数据库设置 GORM

  1. 确保 PGAdapter 与使用 GORM 和 Spanner 进行连接的应用在同一机器上运行。

    如需了解详情,请参阅启动 PGAdapter

  2. 将 PostgreSQL GORM 方言的 import 语句添加到您的应用。此驱动程序与您通常用于 PostgreSQL 数据库的驱动程序相同。

  3. 在 GORM 连接字符串中指定 localhost5432 作为数据库服务器主机和端口。GORM 要求连接字符串中包含用户名和密码。PGAdapter 会忽略这些项。

    • (可选)如果 PGAdapter 配置为在默认 PostgreSQL 端口 (5432) 以外的端口上进行监听,请指定其他端口号。
    • PGAdapter 不支持 SSL。默认情况下,GORM 会首先尝试在启用 SSL 的情况下进行连接。在连接请求中停用 SSL 可加快连接过程,因为它需要的往返减少一次。
    import (
      "gorm.io/driver/postgres"
      "gorm.io/gorm"
    )
    
    dsn := "host=localhost user=gorm password=gorm dbname=gorm port=5432 sslmode=disable"
    db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})
    

如需了解 PostgreSQL 的更多连接选项,请参阅 GORM 与 PostgreSQL 文档

将 GORM 与 Spanner PostgreSQL 方言数据库搭配使用

如需详细了解将 GORM 与 Spanner 搭配使用的功能和建议,请参阅 GitHub 上的参考文档

后续步骤