最近、PythonでPostgreSQLに接続するプログラムを書いたので、その時に使ったコードをメモとして残しておく。
psycopg2のインストール
まず、PythonでPostgreSQLに接続するためのライブラリ「psycopg2」をpipでインストールする。
pip install psycopg2
事前準備はこれだけ。
DBの接続とSELECT文の実行
DBの接続は直接psycopg2.connect()
関数を使っても良いのだが、とりあえずここでは別の関数として用意した。
接続を確立したら、まずはconn.cursor()
でDB操作のためのカーソルを取得する。
基本的にはここで取得したカーソルを使ってDBを操作する。
import psycopg2
# DB接続情報
DB_HOST = 'hostname'
DB_PORT = '5432'
DB_NAME = 'dbname'
DB_USER = 'hogehoge'
DB_PASS = 'fugafuga'
# DB接続関数
def get_connection():
return psycopg2.connect('postgresql://{user}:{password}@{host}:{port}/{dbname}'
.format(
user=DB_USER, password=DB_PASS, host=DB_HOST, port=DB_PORT, dbname=DB_NAME
))
conn = get_connection()
cur = conn.cursor()
# SQL実行(tbl_sampleから全データを取得)
cur.execute('SELECT * FROM tbl_sample')
rows = cur.fetchall()
print(rows)
cur.close()
conn.close()
上記はDB接続から、SELECT文の実行、接続のクローズと、一連の流れをおこなう簡単なサンプルコードだが、基本的にはこのコードをベースに編集すればDBに対するあらゆる操作をおこなうことができる。