首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >`connection.notices`包含属于以前查询而不是最新查询的通知。

`connection.notices`包含属于以前查询而不是最新查询的通知。
EN

Stack Overflow用户
提问于 2014-10-04 13:11:48
回答 1查看 420关注 0票数 0

我在虚拟环境中使用Python2.7.3和精神病学2.5.4连接到Debian7.6 PostgreSQL上的amd64 9.1.13。

我创建的连接对象的notices属性始终是它应该包含的PostgreSQL通知中的一个或多个查询。在执行每个查询(cursor.execute()conn.commit()cursor.close())之后,我运行:

代码语言:javascript
复制
while conn.notices:
    print(conn.notices.pop(0))

但这些通知似乎总是与以前的查询有关。我不确定我的程序中是否有一个bug,或者精神病学会懒洋洋地获取注意。有时,许多通知在一个查询之后就会被打印出来,并且它们都与以前的许多查询相关,这就引起了这样的怀疑:通知是在一个随机时间从服务器上大量获取的。

我已经使用libpqxx C++库连接到相同的DB,并且我可以注册处理的通知处理程序,及时和按预期工作。所以问题不可能发生在发出通知的DB触发器上。

内核连接处于ISOLATION_LEVEL_READ_COMMITTEDautocommit=False同步模式。

如有任何有助于解决这一问题的建议,将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-04 14:12:10

对不起,我的代码错误,执行没有到达的部分,通知被打印出来,并弹出列表,因为例外。这样,它们就会堆积起来,并在查询后打印出来,而这些查询不会引发异常。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26193162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档