Spanner を GORM と統合する(PostgreSQL 言語)

GORM は、Go プログラミング言語のオブジェクト リレーショナル マッピング ツールです。オブジェクト指向のドメインモデルをリレーショナル データベースにマッピングするためのフレームワークを提供します。

標準の PostgreSQL pgx ドライバと PGAdapter を使用して、Spanner PostgreSQL データベースと GORM を統合できます。

Spanner PostgreSQL 言語データベースで GORM を設定する

  1. Spanner で GORM を使用して接続しているアプリケーションと同じマシンで PGAdapter が実行されていることを確認します。

    詳細については、PGAdapter を起動するをご覧ください。

  2. PostgreSQL GORM 言語のインポート ステートメントをアプリケーションに追加します。これは、PostgreSQL データベースで通常使用するドライバと同じです。

  3. GORM 接続文字列でデータベース サーバー ホストとポートとして localhost5432 を指定します。GORM では接続文字列にユーザー名とパスワードを含める必要があります。PGAdapter ではこれらが無視されます。

    • PGAdapter がデフォルトの PostgreSQL ポート(5432)以外のポートをリッスンするように構成されている場合は、必要に応じて別のポート番号を指定します。
    • PGAdapter は SSL をサポートしていません。GORM はデフォルトで、まず SSL が有効な接続を試みます。接続リクエストで SSL を無効にすると、必要なラウンド トリップが 1 つ減るため、接続プロセスが高速化されます。
    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 を使用する

Spanner で GORM を使用する際の機能と推奨事項の詳細については、GitHub のリファレンス ドキュメントをご覧ください。

次のステップ