Я пытаюсь записать двоичные данные в столбец bytea
в таблице PostgreSQL.Мои данные содержат нулевые символы, и я получаю следующую ошибку.
ValueError: A string literal cannot contain NUL (0x00) characters.
Это мой код.
import numpy as np
fft = [0.0, 0.2, 0.0215]
[float(i) for i in fft]
blob = struct.pack('%sd' % np.size(fft), *fft)
cur.execute("""INSERT INTO fft (id, v) VALUES(%s, %s)""", ("widget_fft", blob))
id
имеет тип text
и v
имеет типbytea
.
Я также пытался использовать psycopg.Binary(blob)
, но он вставляет обратные слеши, которые мне не нужны.