Ich versuche, eine Zeichenfolge gzip und dann schreiben Sie es in eine bytea
Spalte mit psycopg2.psycopg - INSERT gzippte Daten in Bytea Spalte
Tabelle:
CREATE TABLE test
(
data bytea
)
einfügen:
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
ist dies ein Problem mit der Bibliothek? Muss ich die Codierung irgendwie ändern? jede Hilfe wird geschätzt.
funktionierts für ein einzelnes Feld oder einfach nur für die ganze Reihe? – amphibient
Es gibt nichts, was Sie daran hindert, mehrere Positionsparameter vom Typ 'psycopg2.Binary' bereitzustellen. Es ist nur die Standard Python DB-API. –