前回に引き続き、psycopg2でデータをINSERTする方法です。
実際のところ
imageというbytea型のbyte_dataカラムを持っているテーブルに対し、バイナリデータを叩き込む方法は以下の通り。
import psycopg2 DSN = "dbname=postgres user=shuzo_kino" SQL3 = "INSERT INTO image(byte_data)\ VALUES (%(imagedata)s);" with psycopg2.connect(DSN) as conn: with conn.cursor() as curs: postquery = {'imagedata': b'\xde\xad\xbe\xef'} curs.execute(SQL3, postquery)
bytearray型で叩きつける事もできます。
postquery = {'imagedata': bytearray.fromhex("12deadbeef12ab41")} curs.execute(SQL3, postquery)