Próbuję zgasić ciąg znaków, a następnie zapisać go w kolumnie bytea
, używając psycopg2.psycopg - WSTAWIĆ spakowane dane do kolumny bytea
tabela:
CREATE TABLE test
(
data bytea
)
Wkładka:
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
jest to problem z biblioteki? Czy muszę w jakiś sposób zmienić kodowanie? każda pomoc jest doceniana.
to działa dla jednego pola lub po prostu dla całego rzędu? – amphibient
Nic nie stoi na przeszkodzie, aby podać wiele parametrów pozycji 'psycopg2.Binary'. To tylko standardowe Python DB-API. –