読者です 読者をやめる 読者になる 読者になる

Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

psycopg2を使ってPostgreSQLにあるデータを読み出す

psycopg2を使ってPostgreSQLにあるデータを読み出す

実際のところ

以下のSQL文を叩くケースを考えます。

  • 固定の時間値を返す。
  • imageテーブルからとりあえず一個引っ張り出す

せっかくwith節を使う事ができるので使ってみます。

import psycopg2

DSN = "dbname=postgres user=shuzo_kino"
SQL = "SELECT * FROM image limit 1;"
SQL2 = "SELECT '2016-11-25 00:00:00'::timestamptz;"

with psycopg2.connect(DSN) as conn:
    with conn.cursor() as curs:
        curs.execute(SQL2)
        print(curs.fetchone()[0])
        curs.execute(SQL)
        buff = curs.fetchone()[0][0:]
        print(type(buff), bytes(buff))

これの実行結果はこんな塩梅。

$ python dbtest.py 
2016-11-25 00:00:00+09:00
<class 'memoryview'> b'\xde\xad\xbe\xef'