PythonでPostgreSQLに接続して使用する方法

概要

  • OSに合わせてPostgreSQLをダウンロードしてインストールし、psycopg2を使用してPythonからPostgreSQLデータベースに接続します。
  • pgAdmin4を使用して、PythonからPostgresサーバーに接続するためのサーバー資格情報を取得します。
  • PythonでSQLコマンドを使用して、PostgreSQLデータベースを作成、確認、または削除します。

Postgresデータベースからデータにアクセスする必要があるPythonプログラムを作成している場合、2つを接続する方法を知る必要があります。接続を確立したら、それを使用してクエリを実行し、データを取得または保存できます。

PostgreSQLをダウンロードしてインストールする

PostgreSQLは、プログラミングプロジェクトに最適な選択肢です。OSに応じて、必要なバージョンのPostgreSQLをダウンロードしてインストールできます。Postgresは、Windows、macOS、Ubuntu Linuxなどの標準的なオペレーティングシステムでダウンロードできます。

インストールプロセスはOSによって異なるため、インストール手順に従ってスムーズなセットアップを体験してください。

必要なライブラリをインストールする

psycopg2ライブラリを使用して、PythonからPostgreSQLデータベースに接続できます。Pythonインタプリターでこのコマンドを実行して、ライブラリがインストールされているかどうかを確認します。

import psycopg2

エラーメッセージが表示された場合(たとえば、「モジュール'psycopg2'が見つかりません」)、次のコマンドでライブラリをインストールします。

pip install psycopg2

PIPは、Windows、Mac、またはLinuxにインストールできるPythonパッケージマネージャーです。Pythonパッケージのインストールの複雑さを軽減します。

pgAdmin4を使用して資格情報を取得する

pgAdmin4アプリを使用して、GUI環境でPostgresデータベースを管理できます。Postgresをインストールしたときに同時にインストールした可能性がありますが、必要に応じてpgAdmin4をダウンロードして個別にインストールできます。

pgAdmin4を使用してサーバー資格情報を取得する方法を次に示します。

  1. アプリケーションメニューから、pgAdmin4を開きます。
  2. アプリケーション画面の左側にあるサーバーメニューをクリックします。
  3. セットアップ時に設定したPostgresパスワードを入力します。
  4. サーバーに接続したら、PostgreSQL 16項目を右クリックし、プロパティを選択します。
  5. プロパティダイアログボックス内で、接続をクリックします。
  6. ホスト名、ポート番号、ユーザー名をメモします。

Postgresサーバーに接続する

資格情報を入手したら、psycopg2ライブラリを使用してPostgresサーバーへの接続を確立できます。これを行うには、connect関数を次のように使用する必要があります。

conn = psycopg2.connect(host='localhost', port= '5432', user='postgres', password='your password here')

次に、カーソル関数を使用して、Python環境でPostgresコマンドを実行する必要があります。

cur = conn.cursor()

最後に、Pythonが各コードステートメントを実行してコミットするように、自動コミットフラグを設定できます。これにより、コードの各行の後に個別のコミットステートメントを渡す必要がなくなります。

conn.set_session(autocommit = True)

これらのステートメントを一度に実行して、Postgresサーバーのローカルインスタンスに接続できます。

Postgresデータベースを作成する方法

Postgresデータベースは、関連するテーブルのコレクションを格納する上で重要な役割を果たします。CREATE DATABASE SQLコマンドを使用して新しいデータベースを作成し、カーソルオブジェクトのexecuteメソッドに渡すことができます。

try:
cur.execute('''CREATE DATABASE DB_NAME''')
except psycopg2.Error as e:
print(e)

発生する可能性のある例外を処理するように常に注意する必要があります。この例では、発生したエラーを単純に印刷するだけですが、本番コードでは適切な処置を講じる必要があります。

pgAdmin4でデータベースを確認する

上記のクエリを実行すると、pgAdmin4を使用してデータベースが正常に作成されたことを確認できます。インターフェイスに移動し、既存のデータベースのリストを更新して、新しいデータベースを探します。

たとえば、上記のクエリを使用してmusicというサンプルデータベースを作成した場合、Postgres16 > Databasesカテゴリの下のデータベースのリストに表示されるはずです。

Postgresデータベースを削除する方法

特定のデータベースを保持したくない場合は、次のコマンドを使用して削除(または「ドロップ」)できます。

try:
cur.execute('''DROP DATABASE MUSIC''')
except psycopg2.Error as e:
print(e)

作成コマンドの代わりに、ドロップコマンドを使用する必要があります。実行後、問題のデータベースは表示されません。