最近、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に対するあらゆる操作をおこなうことができる。