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

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

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

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

connection = psycopg2.connect(database="DATABASE_NAME",
                              host="APPLICATION_HOST",
                              port=PORT)

cursor = connection.cursor()
cursor.execute('select \'Hello World\'')
for row in cursor:
  print(row)

cursor.close()
connection.close()

次のように置き換えます。

  • APPLICATION_HOST: PGAdapter が実行されているマシンのホスト名または IP アドレス。ローカルで実行している場合は、localhost を使用できます。
  • PORT: PGAdapter が実行されているポート番号。PGAdapter がカスタムポートで実行されている場合は、接続文字列でこれを変更します。それ以外の場合は、デフォルト ポート 5432 を使用します。

Unix ドメイン ソケット

このセクションでは、Unix ドメイン ソケットを使用して PostgreSQL 言語データベースに接続する方法について説明します。レイテンシを可能な限り低く抑える必要がある場合は、Unix ドメイン ソケット接続を使用します。

Unix ドメイン ソケットを使用するには、PGAdapter がクライアント アプリケーションと同じホストで実行されている必要があります。

connection = psycopg2.connect(database="DATABASE_NAME",
                              host="/tmp",
                              port=PORT)

cursor = connection.cursor()
cursor.execute('select \'Hello World\'')
for row in cursor:
  print(row)

cursor.close()
connection.close()

次のように置き換えます。

  • /tmp: PGAdapter のデフォルトのドメイン ソケット ディレクトリ。これは、-dir コマンドライン引数を使用して変更できます。
  • PORT: PGAdapter が実行されているポート番号。PGAdapter がカスタムポートで実行されている場合は、接続文字列でこれを変更します。それ以外の場合は、デフォルト ポート 5432 を使用します。

次のステップ

  • PGAdapter について詳細を確認する。
  • PGAdapter GitHub リポジトリの psycopg2 接続オプションで PostgreSQL psycopg2 ドライバの接続オプションについて詳細を確認する。