【发布时间】:2016-11-25 15:23:19
【问题描述】:
我正在创建一个报告引擎,它在备用服务器上进行几个长查询并使用 pandas 处理结果。一切正常,但有时我在使用 psycopg2 游标执行这些查询时遇到一些问题:查询被取消并显示以下消息:
ERROR: cancelling statement due to conflict with recovery
Detail: User query might have needed to see row versions that must be removed
我正在调查这个问题
PostgreSQL ERROR: canceling statement due to conflict with recovery
https://www.postgresql.org/docs/9.0/static/hot-standby.html#HOT-STANDBY-CONFLICT
但所有解决方案都建议通过修改服务器配置来解决问题。我无法进行这些修改(我们赢得了与 IT 人员的最后一场足球比赛 :))所以我想知道如何从开发人员的角度处理这种情况。我可以使用 python 代码解决这个问题吗?我的临时解决方案很简单:捕获异常并重试所有失败的查询。也许可以做得更好(我希望如此)。
提前致谢
【问题讨论】:
标签: postgresql python-2.7 psycopg2