我可以使用什么函数来调整值以适合在COPY FROM
语句中使用?我试过这个函数:
from psycopg2.extensions import adapt
但是,它给出了错误的日期时间(将
adapt
附加到字符串,postgres不喜欢它)和字符串(将它们用单引号括起来,例如空字符串是“”,其中似乎不应该使用引号)。 最佳答案
你不应该把adapt
和copy_from
一起使用。copy_from
需要不同于SQL quoting的格式。
对于字符串,我建议您编写自己的copy_adapt
函数,该函数应转义\t
的制表符、\r
的CR和\n
的LF。
时间戳/日期列的值应格式化(使用strftime?)就像你在Postgres中看到的字符串。
元组元素应该用制表符表示,整个元组用换行符结束。