【发布时间】:2017-06-12 07:25:57
【问题描述】:
我想使用 Psycopg2 (2.7.1) copy_from() 方法将字节插入到类型为 bytea 的 PostgreSQL (9.5.7) 数据库列中。
我可以使用以下代码插入我的字节:
psycopg2_cursor.copy_from(
StringIO("\x30\x40\x50"),
"my_table",
)
通过在插入后对我的表执行 SELECT,我从 bytea 列中获得了预期值:
\x304050
现在,我想在我的字节前面加上字节 0:
psycopg2_cursor.copy_from(
StringIO("\x00\x30\x40\x50"),
"my_table",
)
我收到错误:psycopg2.DataError:用于编码“UTF-8”的无效字节序列:0x00。据我了解,仅在将空字节插入文本字段时才应触发此错误,但应按预期在 bytea 字段中工作。我错过了什么吗?有什么简单的方法可以将空字节插入到 bytea 列中?
谢谢!
【问题讨论】:
-
您的
standard_conforming_strings设置是什么? -
你试过
StringIO('\x30\x40\x50')吗?..
标签: python postgresql psycopg2