我正在使用python来查询真正庞大的PG数据库。我使用了服务器端游标,不幸的是当我遇到170000+行时,它给了我错误:
psycopg2.extensions.TransactionRollbackError:终止连接 由于与恢复冲突细节:用户持有关系 锁定太久了。提示:您应该能够重新连接 到数据库并重复您的命令。服务器关闭了连接 意外地这可能意味着服务器异常终止 处理请求之前或处理时。
这是一个类似的问题,但它并没有解决我的困惑,因为我对编码和psycog2相当新。 the sqlalchemy error。有谁能建议解决方案和代码?非常感谢!
conn=pg.connect(host="XXX",database="XXX", user="XXX", password="XXX")
cur = conn.cursor('my_cursor')
cur.execute("select XX,XXX from XXXX")
count = 0
data = []
while True:
rows = cur.fetchmany(100)
if not rows:
break
for id, xml in rows:
count += 1
if count % 5000 == 0:
print('processing The %d record' % count)
data.append(Extract_info(id, xml, 'progressive', Dict_info))
pass
cur.close()
enter image description here,除了增加这个2参数外,还有一个绕行?