pgx の PostgreSQL 言語データベースへの接続

このページでは、PostgreSQL pgx ドライバを Spanner の PostgreSQL 言語データベースに接続する方法について説明します。pgx は PostgreSQL 用の Golang ドライバです。

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

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

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

    • PGAdapter がデフォルトの PostgreSQL ポート(5432)以外のポートをリッスンするように構成されている場合は、必要に応じて別のポート番号を指定します。
    • PGAdapter はデフォルトで SSL を無効にします。pgx はデフォルトで、まず SSL が有効な接続を試みます。接続リクエストで SSL を無効にすると、必要なラウンド トリップが 1 つ減るため、接続プロセスが高速化されます。
    connString := "postgres://uid:pwd@localhost:5432/my-database?sslmode=disable"
    ctx := context.Background()
    conn, err := pgx.Connect(ctx, connString)
    if err != nil {
      return err
    }
    defer conn.Close(ctx)
    
    var greeting string
    err = conn.QueryRow(ctx, "select 'Hello world!' as hello").Scan(&greeting)
    if err != nil {
      return err
    }
    fmt.Printf("Greeting from Cloud Spanner PostgreSQL: %v\n", greeting)
    

次のステップ