首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过PyGreSQL接收通知?

如何通过PyGreSQL接收通知?
EN

Stack Overflow用户
提问于 2017-11-09 13:35:46
回答 1查看 210关注 0票数 0

我在Postgres9.5中使用了PyGreSQL 4.1.1,并编写了一些存储函数。我使用函数内部不同级别的RAISE进行调试,这在psql中运行得很好,但我还没有找到在psql中访问这些消息的方法。

示例:

代码语言:javascript
复制
CREATE OR REPLACE FUNCTION my_function()  RETURNS BOOLEAN AS $_$
    BEGIN
        RAISE NOTICE 'A notice from my function.';
        RETURN TRUE;
    END
$_$ LANGUAGE plpgsql;

我的Python代码如下所示:

代码语言:javascript
复制
conn = pgdb.connect(database = 'mydb', user = 'myself')
cursor = conn.cursor()
cursor.execute("SELECT my_function()"):

如何在运行A notice from my function.后访问通知( my_function() )

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-09 18:39:04

由于@klin的评论,我发现了一个有点不干净的解决方案。pgdb.Connection对象将基础pg.Connection对象存储在名为_cnx的私有属性中。因此,您可以这样设置通知接收方:

代码语言:javascript
复制
def my_notice_receiver(notice):
    logging.info("Notice: %s", notice)

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

https://stackoverflow.com/questions/47203287

复制
相关文章

相似问题

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