我可以使用什么函数来调整值以适合在 COPY FROM
语句中使用?我尝试了这个 adapt
函数:
from psycopg2.extensions import adapt
但是,它给出了错误的日期时间(将 ::timestsamp
附加到字符串,postgres 不喜欢它)和字符串(将它们用单引号引起来,例如空字符串是 '' ,似乎不应使用引号)。
最佳答案
您不应该只将 adapt
与 copy_from
一起使用。
copy_from
需要一种不同于 SQL 引用的格式。
对于字符串,我建议编写您自己的 copy_adapt
函数,它应该使用 \t
转义制表符,使用 \r
转义 CR和 LF 与 \n
。
时间戳/日期列的值应该格式化(使用 strftime?),就像您在 Postgres 中 SELECT now()
时看到的字符串。
元组元素应该用制表符分隔,整个元组以换行结束。
关于python - postgresql+python : how to adapt for copy_from?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8002555/