將 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 with PostgreSQL 說明文件

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

如要進一步瞭解如何搭配使用 GORM 與 Spanner,請參閱 GitHub 上的參考說明文件

後續步驟