使用服务器端游标时,Python psycopg2挂起

时间:2018-07-10 16:37:18

标签: python cursor psycopg2 psql

我遇到一个奇怪的问题。通过服务器端游标进行迭代时,经过几次迭代(非常快),我的迭代器在几分钟后最终挂起,最终超时:

connectstring = "my connection string"

self._conn = psycopg2.connect(connectstring)

self._cur = self._conn.cursor(my_cursor')

self._cur.itersize = 2000

for result in cursor:
    yield result

上面的迭代器总是在返回50K条记录后停止。返回的记录数取决于itersize参数,但此查询最终应返回约2500万条记录。

如果使用fetchmany,则行为类似,并且仅在针对本地托管服务器运行时才会发生。从另一个客户端使用VPN连接到同一服务器的速度较慢,但​​会返回完整的3500万条记录。

0 个答案:

没有答案