Python を使用して PostgreSQL データベースに接続する
- システムに PostgreSQL をインストールする
- pgAdmin を使用してデータ サーバーとデータベースを作成する
- PostgreSQL データベースを Python に接続する手順
-
サーバー情報を格納する構成 (
.ini
) ファイルの作成 - 構成ファイルを解析する Python ファイルの作成
- PostgreSQL データベースに接続する手順
- まとめ
この記事では、PostgreSQL で作成されたデータベースへの接続を作成する手順について説明します。 以下で説明するように、PostgreSQL のインストールやデータベースの作成などの前提条件が必要です。
システムに PostgreSQL をインストールする
名前が示すように、PostgreSQL はデータベース システムを効率的に管理するために作成された SQL システム ソフトウェアです。
Python に接続する前に、データベースを作成する必要があります。 Postgres、実装してください。
データベース開発を学び始める多くの初心者には、混乱がつきものです。 データベースは PostgreSQL ではなく pgAdmin を使用して作成されていると認識されています。
実際には、前者はデータベースを管理し、後者はそれを構築するフレームワークです。
データベースを作成する前に、pgAdmin を PostgreSQL とリンクする必要があります。 そのため、最初に PostgreSQL をインストールする必要があります。
Postgres のインストール パッケージは、PostgreSQL の公式 Web サイトのダウンロード セクションにあります。 ユーザーはそこからアプリケーションをダウンロードしてインストールできます。
Mac、Linux、Windows などのオペレーティング システム用のさまざまなインストーラーが用意されています。
ユーザーは、ソース コードを入手して手動でコンパイルし、自分の PC に pgAdmin4 をインストールすることもできます。
pgAdmin は、PostgreSQL で動作するデータベースを管理するための効率的なツールです。 インストーラーなどのダウンロード可能なファイルは、アプリケーションのオンライン Web ページにあります。
pgAdmin からのすべての安定版リリースのリストと、PostgreSQL のプロセスに類似したインストール パッケージの他のディストリビューションから選択できます。
pgAdmin をシステムにインストールすると、データベースを作成できます。
pgAdmin を使用してデータ サーバーとデータベースを作成する
このセクションには 2つのサブセクションがあります。 最初のセクションではデータ サーバーの作成方法を説明し、2 番目のセクションではデータベースに焦点を当てます。
pgAdmin でデータ サーバーを作成する
データベースを作成する前に、pgAdmin を適切に設定する必要があります。 新しいデータベースの作成時またはアクセス時に使用されるマスター パスワードを求めるプロンプトが表示されます。
パスワードを入力すると、pgAdmin Web ページが表示されます。 新しいデータベースを生成するには、新しいサーバーを構築する必要があります。
Add New Server
ボタンをクリックすると、新しいサーバーを構築できるダイアログ ウィンドウが作成されます。
最初に表示されるウィンドウは、セットアップ中のサーバーの機能を提供します。 この記事では、それらのいくつかにはユーザー入力が提供されますが、その他はシステムによって生成され、そのまま残されます。
最初に、サーバーの名前が必要です。 その後、connection
メニューに進みます。
そこでは Hostname
が必要ですが、通常は localhost
です。 ポートは 5432
に設定する必要があります。
上記のポイントに従うだけで、有用なデータ サーバーを作成できます。
pgAdmin でデータベースを作成する
データ サーバーが起動して動作すると、データベースを作成できます。 作成されたサーバーは、ダッシュボードと呼ばれるアプリケーション ウィンドウの左側に表示されます。
サーバー名の横の左側のパネル内にドロップダウン アイコンがあります。 このアイコンをクリックすると、システムのマスター パスワードを要求するパスワード ダイアログが表示されます。
メニューには、システム内で作成されたすべてのサーバーが表示されます。 クリックしてパスワードプロンプトが表示されるまで、アクティブ化されるまで非アクティブ化されたままになります。
データベース
エリアを右クリックし、作成
を選択します。 データベースに名前を付け、所有者セクション内で postgres
を選択します。 次に、データベース定義を設定する必要があります。
データベースの定義には、設定する複数のオプションがあります。 以下は、利用可能な多くのオプションの中で、より重要なオプションの一部です。
Encoding
は -UTF - 8
に設定する必要があります。Template
はPostgres
に設定する必要があります。- テーブルスペースは
pg_default
に設定する必要があります。
照合順序
と文字種
はそのままで、接続制限を-1
に設定します。 sql
というラベルの付いたメニューに移動すると、ここで使用されているクエリの概要が表示されます。
save
をクリックすると、データベースが作成されます。
PostgreSQL データベースを Python に接続する手順
Python を使用してデータベースに接続するには、3 段階のプロセスがあります。 最初に、サーバーの情報が構成ファイルに格納されます。
構成 (.ini
) ファイルを解析し、次のステップでサーバーをロードする Python ファイルが作成されます。 最後のステップで、データベースに接続する Python ファイルが作成されます。
この記事では、プログラムは psycopg2
インポート パッケージを使用して PostgreSQL データベースに接続し、データベースのバージョンを取得してから出力します。
サーバー情報を格納する構成 (.ini
) ファイルの作成
このファイルにはサーバーに関連する詳細が保存され、config.py
ファイルがデータベースを構成するのに役立ちます。 使用する RDBMS を宣言するファイルの先頭は、ファイルの先頭にあります。
host
- 使用するホストまたはサーバーがここに表示されます。データベース
- ターゲットにする必要がある特定のデータベースがここに表示されます。user
- RDBMS であるため、ユーザーはpostgres
として指定する必要があります。password
- データベースの作成中に pgAdmin で指定されたマスター パスワードをここに入力する必要があります。
info ファイルが作成されると、configure ファイル内で使用できます。
構成ファイルを解析する Python ファイルの作成
このプログラムは、インポート パッケージ configparser
を使用します。 メソッド config
は、filename
と section
の 2つのパラメーターで宣言されます。
変数 filename
からファイルを読み取る変数 parser
が初期化されます。
以下は、データベースからアイテムを抽出する get
メソッドです。 get
セクションは if-else
ステートメント内に配置され、else
メソッドが例外を処理します。
最後に、変数 database
が返されます。
from configparser import ConfigParser
def config(filename="server_info.ini", section="postgresql"):
parser = ConfigParser()
parser.read(filename)
database = {}
if parser.has_section(section):
params = parser.items(section)
for param in params:
database[param[0]] = param[1]
else:
raise Exception(
"Section {0} not found in the {1} file".format(section, filename)
)
return database
PostgreSQL データベースに接続する手順
プログラムには 2つのインポート ファイルがあります。
psycopg2
設定
PostgreSQL データベース サーバーに接続するメソッド connect
が作成されます。
接続のパラメータを読み取るために使用される変数 param
が宣言されています。 これらのパラメーターは、データベース サーバーへの接続に使用されます。
構文 psycopg2.connect(**params)
は、接続パラメーターをロードし、データベース サーバーに接続します。 connection.cursor
構文によって作成されたカーソルを格納するために使用される別の変数 var_cur
が宣言されています。
接続が確立されると、データベースの PostgreSQL のバージョンが表示されます。 var_cur.execute
はステートメント SELECT version()
を実行します。
バージョンは変数 version_of_database
にロードされ、一度に 1つの要素をフェッチする fetchone()
関数によって表示されます。 その後、変数が出力されます。
データベースのバージョンが取得された後、カーソルは var_cur.close()
を使用して閉じられます。
エラー例外を発生させるために、例外処理ブロックが追加されました。 except
ブロック内では、データベースに接続できない場合、またはデータベースが見つからない場合、プログラムはエラー メッセージを出力します。
例外処理の最後に、構文 connection.close()
を使用して接続を閉じる finally
ブロックが追加されます。 接続が閉じられると、データベースは接続が閉じられたことを確認するメッセージを出力します。
最後に、メソッド connection
が呼び出されます。
import psycopg2
from config import config
def connect():
connection = None
try:
params = config()
print("Connection made to the postgresql database")
connection = psycopg2.connect(**params)
var_cur = connection.cursor()
print("Database version is - ")
var_cur.execute("SELECT version()")
version_of_database = var_cur.fetchone()
print(version_of_database)
var_cur.close()
except (Exception, psycopg2.DatabaseError) as error:
print(error)
finally:
if connection is not None:
connection.close()
print("Database connection closed.")
if __name__ == "__main__":
connect()
出力:
まとめ
この記事では、データベースの作成について説明し、PostgreSQL でデータベースを作成する方法について説明します。 ソフトウェア ツール pgAdmin
のさまざまな機能。
読者は、Python を使用してデータベースに接続する方法を詳細に学習できるため、この学習をすぐに習得して実際のプロジェクトで使用できます。