使用 Psycopg2 获得懒惰但可重复使用的光标

Bre*_*arn 3 python postgresql psycopg2 pygresql

我在文档中看到您需要使用服务器端(“命名”)游标以避免一次将所有结果加载到内存中。但后来我发现服务器端游标不可重用。.execute你只能对它们做一个。(否则你会得到ProgrammingError: can't call .execute() on named cursors more than once。)

有什么方法可以获得可以重复使用的游标,但也不会立即将所有数据加载到内存中?

我愿意使用不同的 Postgres 驱动程序,如果它能让事情变得更简单、性能更高。我查看了 PyGreSQL,但它似乎比 Postgres 命名游标慢得多。

pir*_*iro 7

只是不要重复使用光标。重复使用连接。