psycopg2 - 在返回 execute_values 的页面上迭代

标签 psycopg2

http://initd.org/psycopg/docs/extras.html

psycopg2.extras.execute_values 有一个参数 page_size。 我正在使用 RETURNING ID 执行 INSERT INTO...ON CONFLICT...

问题是 cursor.fetchall() 只返回最后一个“页面”,即 100 个 ID(默认为 page_size)。

在不修改 page_size 参数的情况下,是否可以迭代结果以更新总行数?

最佳答案

我遇到了同样的问题。我通过批处理对 execute_values() 的调用来解决这个问题。我将设置 my_page_size=1000,然后遍历我的值,填充 argslist 直到我有 my_page_size 项目。然后我将调用 execute_values(cur, sql, argslist, page_size=my_page_size)。并遍历 cur 以获取这些 ID。

关于psycopg2 - 在返回 execute_values 的页面上迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44065571/

相关文章:

python - 检查 psycopg2/postgresql 中是否存在 python 值列表

Python psycopg2 游标

postgresql - pytest_postgresql 示例引发导入错误 psycopg

linux - 在 Fedora 21 上安装 psycopg2 时出错

postgresql - 在 aws(ubuntu) 中安装 psycopg2 时出错,如何解决?

Python 认为 psycopg2 DictRow 是列表(至少看起来是这样)

python - 如何在 psycopg2 中使用字典中的元组作为命名参数

postgresql - Flask-sqlalchemy 在重新启动数据库服务器后失去连接

python - 在 dask.read_sql_table 中添加 application_name 作为参数时出错

python - 使用 Python 将 PostgreSQL 查询导出到 csv 文件