GORM は、Go プログラミング言語のオブジェクト リレーショナル マッピング ツールです。オブジェクト指向のドメインモデルをリレーショナル データベースにマッピングするためのフレームワークを提供します。
標準の PostgreSQL pgx ドライバと PGAdapter を使用して、Spanner PostgreSQL データベースと GORM を統合できます。
Spanner PostgreSQL 言語データベースで GORM を設定する
Spanner で GORM を使用して接続しているアプリケーションと同じマシンで PGAdapter が実行されていることを確認します。
詳細については、PGAdapter を起動するをご覧ください。
PostgreSQL GORM 言語のインポート ステートメントをアプリケーションに追加します。これは、PostgreSQL データベースで通常使用するドライバと同じです。
GORM 接続文字列でデータベース サーバー ホストとポートとして
localhost
と5432
を指定します。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 のリファレンス ドキュメントをご覧ください。
次のステップ
- PGAdapter と Cloud Spanner で GORM を使用してサンプル アプリケーションをチェックアウトする。
- GORM の詳細を学習する。
- PGAdapter について詳細を確認する。
- GitHub の問題を提出してバグを報告するか、PGAdapter で Spanner に GORM を使用する方法について質問する。