PostgreSQLの接続

今日はデータ移行のお仕事が舞い込んできた。
暇そうにしてたのが裏目に出たね。
データ移行だが、どうもフェッチだなんだが必要そう。
手段は問わないとの事なので、ここはPythonでの実装を目指そうか。
(一応、ストアドで何とかなりそうだなとは睨んでいるけど)

ドライバはpsycopg2を採用した。

import psycopg2
connection = psycopg2.connect(
  database='postgres', 
  user='postgres', 
  password='postgres', 
  host='127.0.0.1', 
  port=5432)

cursor = connection.cursor()
sql = """select * from from1;"""
sql2 = """select name from from2 where id='%s'"""

cursor.execute(sql)
rows = cursor.fetchall()

for row in rows:
    cursor.execute(sql2 % row[0])
    rows2 = cursor.fetchall()
    for row2 in rows2:
        print(row2[0])

結果はfrom2テーブルの
山田太郎
山本二郎
が返却される。よし。

ポスグレはあんまり好きじゃない。なんか半端にふわっとしてるから。