通过psycopg2获取警告消息

2024-01-04

我想通过 psycopg2 调用 plpgsql 函数并查看警告消息。 即,我有这个功能:

create or replace function test_warning() returns void as $$
begin
raise warning 'this is only a test';
end; 
$$
language plpgsql;

并在 python 中这样称呼它:

import psycopg2
conn = psycopg2.connect(conn_string)
cursor = conn.cursor()
cursor.callproc("test_warning")
# or so:
cursor.execute('SELECT test_warning()')

不幸的是,plpgsql 中定义的警告消息没有出现在 python 输出中的任何位置。 有没有办法在 python 输出中打印警告消息?


The notices的成员connection是截至该点发送到客户端的会话消息的列表:

for notice in conn.notices:
    print notice

http://initd.org/psycopg/docs/connection.html#connection.notices http://initd.org/psycopg/docs/connection.html#connection.notices

要获取最后通知:

print conn.notices[-1]

如果函数内部引发异常且未被捕获,则不会收到警告。这是因为函数包装了隐式事务,并且该事务内的所有内容都会回滚,包括警告。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过psycopg2获取警告消息 的相关文章

随机推荐

  • 两个for循环的时间复杂度[重复]

    这个问题在这里已经有答案了 所以我知道时间复杂度为 for i i
  • 如何在 React Native 中对齐文本和选取器

    在 React Native 中 我们如何将文本与输入对齐 在下图中 文本位于左上角 但选择器似乎应用了填充或边距 我尝试了其他使用 Flex 的解决方案 但也遇到这个问题 https github com facebook react n
  • 如何将 Spacy 模型添加到requirements.txt 文件中?

    我有一个使用 Spacy 模型 en core web sm 的应用程序 我已经在本地计算机上测试了该应用程序 它运行良好 但是 当我将其部署到 Heroku 时 它给出了以下错误 找不到模型 en core web sm 它似乎不是快捷链
  • 为 ESS 留下合理评论

    当我使用C M 使用 emacs 和 ESS 来格式化我的 R 代码 它正确地证明了我的评论 例如 它会改变 This is a comment x 5 to This is a comment x 5 如何阻止我的评论被合理化 一种解决方
  • 如何通过 MVVM 使用 WPF 应用程序中的FolderBrowserDialog

    我正在尝试使用FolderBrowserDialog http msdn microsoft com en us library system windows forms folderbrowserdialog aspx来自我的 WPF 应
  • 在 OpenGL 中导入和显示 .fbx 文件

    我一直在尝试使用以下命令导入并显示 fbx 文件FBX SDK Untill 我设法加载文件 但我卡在必须显示它的部分 问题 这些指数到底是什么 我应该如何显示顶点 这是我制作的课程 3dModelBasicStructs h struct
  • 计算仅具有另一个数字中最高有效数字集的数字的最快方法是什么? [复制]

    这个问题在这里已经有答案了 可能的重复 以前的 2 的幂 https stackoverflow com questions 2679815 previous power of 2 获取最左边的位 https stackoverflow c
  • 从 python 中的 gzip 文件读取

    我刚刚在 python 上删除了 gzip import gzip f gzip open Onlyfinnaly log gz rb file content f read print file content 我在屏幕上没有得到任何输出
  • 如何将 .jpg 包含到 dll 中?

    我有一个第三方应用程序 可以根据我的 cs 代码创建 dll 文件 在我的 cs 代码中 我引用了一个文件 如何编译 dll 或 cs 以包含 jpg 文件和代码 我为第三方应用程序提供的选项不允许我导出 jpg 导入过程仅查看 cs 和关
  • 如何使用NEST elasticsearch批量插入Json?

    我正在尝试使用 Nest 将多条记录插入到我的数据库中 使用 IndexMany 类插入确实有效 但是我还需要通过 json 字符串插入对象 我确实在 github 上查找过 并找到了一些如何使用 RAWclient 的示例 在代码示例下面
  • 从 Maven 原型生成模块时访问父属性

    我有许多 Maven 原型 我用它们来生成多模块 Maven 项目 我在用于生成父项目的原型上有一个必需的属性 这将作为属性添加到项目的 pom xml 中 然后 我使用不同的原型在项目中生成一个模块 我希望在该模块的某些资源中替换相同的值
  • 对象最终化的前期成本是多少?

    Java 中可终结对象的讨论通常讨论当可终结对象 及其相关资源 无法快速进行垃圾收集时发生的常见间接成本 目前 我更感兴趣的是可终结的实际直接成本是多少 无论是在内存方面还是在对象分配时间方面 我在很多地方都看到过间接提及这种成本的存在 例
  • java,未找到类异常 com.mysql.jdbc.Driver [重复]

    这个问题在这里已经有答案了 我正在尝试在 java 程序中创建运行以下内容 但出现此错误 java lang ClassNotFoundException com mysql jdbc Driver 位于 org apache catali
  • Python 中的logging.warn 和logging.warning 有什么区别?

    样品位于http docs python org 2 howto logging html http docs python org 2 howto logging html两者都使用warn and warning logging war
  • Jupyter Notebook(仅限)内存错误,相同的代码在传统的 .py 中运行并且可以工作

    我有一个深度学习课程的作业 他们提供了一个 Jupyter 笔记本作为基本代码 问题是在运行数据导入和重塑后 jupyter 笔记本出现 内存错误 经过一些分析后 我尝试编译普通 py 文件中的相同代码 一切运行良好 问题是我需要 最好 使
  • Matlab傅里叶描述符出了什么问题?

    我正在使用冈萨雷斯frdescp函数来获取边界的傅立叶描述符 我使用这段代码 得到两组完全不同的数字 描述两个相同但尺度不同的形状 那么有什么问题吗 im imread c classes a1 png im im2bw im b bwbo
  • excel 2007 vba:如何引用HPageBreaks

    我正在尝试编写一个宏 它可以查看工作表保留的水平分页符列表 看起来 HPageBreaks 应该正是这样 我可以添加或删除分页符 但我似乎无法隔离集合本身来查看其内容 即使添加监视并查看 ActiveSheet HPageBreaks 也只
  • ES6导出覆盖功能

    如何导出这个覆盖函数 以便导入模块可以检查该函数是否已被调用 util js export function isPageload return isPageload function return false 当我用 Babel 编译它时
  • 是否可以更改 RESX 生成器以在生成的类上使用公共访问器?

    我正在编写一个 ASP NET MVC 应用程序 并尝试使用 RESX 文件来存储错误消息和其他常见字符串 问题是 RESX 生成器构建内部类 并且无法使用以下语法在 ASP NET HTML 代码中使用它们 是否可以调整设置以使 RESX
  • 通过psycopg2获取警告消息

    我想通过 psycopg2 调用 plpgsql 函数并查看警告消息 即 我有这个功能 create or replace function test warning returns void as begin raise warning