最近、PythonでPostgreSQLに接続するプログラムを書いたので、その時に使ったコードをメモとして残しておく。

psycopg2のインストール

まず、PythonでPostgreSQLに接続するためのライブラリ「psycopg2」をpipでインストールする。

1
pip install psycopg2

事前準備はこれだけ。

DBの接続とSELECT文の実行

DBの接続は直接psycopg2.connect()関数を使っても良いのだが、とりあえずここでは別の関数として用意した。

接続を確立したら、まずはconn.cursor()でDB操作のためのカーソルを取得する。

基本的にはここで取得したカーソルを使ってDBを操作する。

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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に対するあらゆる操作をおこなうことができる。