將 Spanner 與 GORM (PostgreSQL 方言) 整合

GORM 是 Go 程式設計語言的物件關聯對應工具。它提供一個架構,可將以物件為導向的網域模型對應至關聯式資料庫。

您可以使用標準 PostgreSQL pgx 驅動程式和 PGAdapter,將 Spanner PostgreSQL 資料庫與 GORM 整合。

使用 Spanner PostgreSQL 方言資料庫設定 GORM

  1. 請確認 PGAdapter 與使用 GORM 與 Spanner 連線的應用程式,是在同一部電腦上執行。

    詳情請參閱「啟動 PGAdapter」。

  2. 在應用程式中新增 PostgreSQL GORM 方言的匯入陳述式。這個驅動程式與您通常在 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 說明文件

搭配 Spanner PostgreSQL 方言資料庫使用 GORM

如要進一步瞭解使用 GORM 搭配 Spanner 的功能和建議,請參閱 GitHub 上的參考說明文件

後續步驟