使用psycopg2的copy_from函数从python代码尝试复制数据到postgres表的内部错误

时间:2014-10-23 23:07:28

标签: python postgresql psycopg2

我是根据文档here在我的python代码中完成的,并提到here

# anything can be used as a file if it has .read() and .readline() methods
data = StringIO.StringIO()
data.write('\n'.join(['Tom\tJenkins\t37',
                  'Madonna\t\N\t45',
                  'Federico\tDi Gregorio\t\N']))
data.seek(0)

curs.copy_from(data, 'distributors')

我收到了这个错误: Traceback(最近一次调用最后一次):   文件“”,第1行,in     cursor.copy_from(数据,'经销商') InternalError:当前事务被中止,命令被忽略,直到事务块结束

1 个答案:

答案 0 :(得分:3)

找到答案here

尝试使用相同的数据库连接查询错误查询。 (有关详细信息:我在此数据库连接上运行了copy_from,但数据不正确。它已失败。然后,我将数据修改为格式正确)

当您使用此连接的数据库上的上一个查询/命令出现问题/错误时,需要使用 connection.rollback() 调用回滚它。一旦您执行该代码,并重新运行新的正确代码,您就可以将数据从Python代码正确复制到Postgres数据库。