如何向psycopg2.copy_from()发送EOF信号



我试图从一个(非postgres)游标中读取,并使用结果来提供psycopg2.copy_from()。我似乎一切都很好,除了EOF条件。我有一个游标包装器,它将游标转换为一个类似文件的对象,在read()方法中,我有:

row = self.readline()
if not row:
    return ""

但是这会导致copy_from(cursor_as_file, 'cm_outgoing')阻塞

ERROR: invalid input syntax for integer: ""
CONTEXT:  COPY cm_outgoing, line 533, column id: ""

这有点道理,因为cm_outgoing中的第一个字段是一个整数,并传递一个零长度的字符串。我应该用不同的方式发送EOF信号吗?还是我遗漏了什么?

错误在其他地方。在另一点上,我在文件中有一个双换行符。我不确定为什么copy_from()没有抱怨,但修复双换行符似乎已经解决了这个问题。

最新更新