6
文字列をgzipしてpsycopg2を使用してbytea
列に書き込もうとしています。psycopg - データをバイト列に挿入する
テーブル:
CREATE TABLE test
(
data bytea
)
挿入:
import psycopg2
data = "some string".encode("zlib") # 'x\x9c+\xce\xcfMU(.)\xca\xccK\x07\x00\x1ak\x04l'
conn = psycopg2.connect("my parameters")
cur = conn.cursor()
cur.execute("INSERT INTO public.test VALUES (%s)", (data,))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
psycopg2.DataError: invalid byte sequence for encoding "UTF8": 0x9c
これは、ライブラリの問題ですか?何とかエンコーディングを変更する必要がありますか?どんな助けもありがとう。
:
をして、最後の実行の呼び出しを交換してみてください? – amphibient
複数の 'psycopg2.Binary'型の位置パラメータを提供することを止めるものは何もありません。これは標準のPython DB-APIです。 –