从 PostgreSQL 检索原始通知文本

2024-02-26

我正在使用 PL/pgSQL 尝试模拟我在 Oracle PL/SQL 中可以执行的操作,其中 dbms_output 相当于 stdout。

我读过“RAISE NOTICE”可能是处理此问题的最佳方法。然而我的问题是,当我从 psycopg2 通知对象检索文本时,我得到了额外的 NOTICE: 前缀和额外的换行符。

我知道我可以从字符串中删除有问题的字符,但它看起来有点笨拙,而且我不知道如何检索原始文本,这让我很恼火。是否可以?

DECLARE retval smallint;
BEGIN
    SELECT  value INTO retval
    FROM    montb;
    Raise notice 'This is a message';  
    Raise notice 'This is another message';                              
    RETURN retval;
END;


#!/usr/bin/python
import psycopg2

try:
    conn = psycopg2.connect("dbname='mondb' user='nagios' host='postgres' password='nagios'")
except:
    print "I am unable to connect to the database"

cur = conn.cursor()
mynotices = list()
conn.notices = mynotices
cur.execute('select check_table()')
retval = cur.fetchone()[0]
cur.close()
for notice in mynotices:
    print notice
conn.close()

print retval

root@95c2a4abcd95:~# ./test.py
NOTICE:  This is a message

NOTICE:  This is another message

0

驱动程序从服务器获取带有前缀和行尾字符的警告文本。它不处理该消息。解决方法非常简单:

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

从 PostgreSQL 检索原始通知文本 的相关文章

随机推荐

  • 组合 Group-Object 和 ForEach-Object?

    我正在开发一个名为Merge Xsd可以合并相似的 XML 模式 它需要一个路径列表 加载模式 合并它们 并生成一个XMLDocument作为输出 特定文件名的所有模式都被认为是 相似的 所以我正在做的就是获取特定目录结构中的所有子项 根据
  • 使用useEffect获取数据时避免使用旧数据

    我的问题是 当自定义挂钩使用useEffect with useState 例如 为了获取数据 在依赖项更改之后但在 useEffect 被触发之前 自定义挂钩会返回过时的数据 来自状态 您能建议一种正确 惯用的方法来解决这个问题吗 我正在
  • 针对具有大量聚合的大型集群的 ElasticSearch 设置

    背景和当前状态 我们正在将集群从 Cassandra 迁移到完整的 ElasticSearch 集群 我们平均索引文档为每秒约 250 300 个文档 在 ElasticSearch 1 2 0 中 它代表每天约 8Go generic i
  • Android 如何避免内存不足错误

    我有很多图像 大约有 500 张分布在 20 个左右的片段中 这些图像都非常小 并且加载得很好 但是我给用户提供了 3 种不同类型的图像的选择 现在如果用户更改图像我收到 OOM 错误 所以我认为这是我处理图像的方式 我认为我需要先回收旧图
  • 基于另一个字段更改 SSRS 中值字符串中特定值文本颜色的表达式

    我的 SSRS 报告中有一个字段 其中包含一串用逗号分隔的数字 来自 SQL 中的合并选择 它看起来像 12 91 160 171 223 如果该值也在报告的另一个字段中 我只想更改该字段中一个特定值 例如 160 的文本颜色 我已经有了这
  • 使用 BigDecimal 计算小数点后的最大位数

    小数点后最多可以有多少位BigDecimalJava 中的值 它 几乎 是无限的 如果将比例设置为整数的最大值 则可以存储大约 20 亿位小数点后的数字 但如果尝试这样做 可能会耗尽内存 如果您需要存储如此多的数字以至于限制成为问题 那么您
  • 如何将UIImage插入到UITextView中

    我正在开发一个可编辑的笔记本类型项目 它随时由一些文本和图像组成 在UITextView如果我们将图像添加为子视图 则帧是固定的 但我有editable选项 所以我必须将图像另存为NSString格式为UITextView 但它应该在 ui
  • AutoMapper 4.2 和 Ninject 3.2

    我正在更新我的一个项目以使用 AutoMapper 4 2 并且遇到了重大更改 当我seem为了解决上述更改 我并不完全相信我已经以最合适的方式做到了这一点 在旧代码中 我有一个NinjectConfiguration 和AutoMappe
  • Android 2.1 WebView 中的 SIGSEGV

    在 Android 2 1 中使用 WebView 时 我间歇性地收到 SIGSEGV SIGSEGV 位于 system lib libwebcore so 内 此 WebView 实现是否存在已知问题 我可以解决该问题以避免 SEGV
  • 由于零而始终将滑块求和到 100% 失败的算法

    这是 应该是 一个函数 它确保多个滑块值的总和always总计为globalTotal 用户可以手动更改滑块值changer value然后当将此函数应用于other滑块 它可以确定它们的新或endVal 它需要startVal需要更改的滑
  • 初学者使用 Linqpad 运行非常基本的 linq to sql 查询的步骤

    尝试使用 Linq 学习LinqPad http www linqpad net 并对如何开始感到沮丧 假设我想编写一个 C 表达式和一个 C 语句 其中 SQL Server 中有一个名为 Products 的表 并且我想提取价格大于 5
  • 使用 lucene/java 标记名称

    我有我公司所有员工的姓名 超过 5000 名 我想编写一个引擎 它可以在在线文章 博客 维基 帮助文档 中即时查找名称 并用用户电子邮件的 mailto 标签标记它们 截至目前 我计划从文章中删除所有停用词 然后在 lucene 索引中搜索
  • 手动修改 DOM 的 innerHTML 会停止 ReactJS 监听器

    我正在学习 ReactJS 和 Node Express 生态系统 对我来说是早期 我有一个基本的 ReactJS 文件 包括组件定义和渲染调用 它本身按预期工作 为了快速 轻松地进行调试 昨天我在客户端代码中进行了以下更改 Added H
  • 在运行时将设计时面板添加到 TabPage

    我希望在设计时有一个带有控件的面板 但我想在运行时将此面板添加到 TabControl 的所需 tabPage 中 我写了这样的东西 没有用 面板没有显示在选项卡页中 请帮我 panel2 Parent tabGuy TabPages 0
  • XPath - 提取两个节点之间的文本

    我的 XPath 查询遇到问题 我必须解析一个 div 它被划分为未知数量的 部分 其中每一个都由 h5 和部分名称分隔 可能的部分标题列表是已知的 并且每个标题只能出现一次 此外 每个部分可以包含一些 br 标签 所以 假设我想提取 Se
  • 尽管在 Windows 的 VS Code 中安装了字体并激活了连字,但仍无法显示 FiraCode

    在我的设置中我有 editor fontLigatures true editor fontFamily Fira Code Comic Sans MS Tahoma Consolas 我已经尝试过 根据this https github
  • 在 IIS7 中重写映射 — 如何使匹配项选择性地包含尾部斜杠?

    我已经阅读了几种组合的前 30 名 Google 搜索结果IIS rewrite map condition等等 但我在 microsoft com 网站或其他地方找不到任何像样的文档 我在 IIS7 中有一堆重写映射 我想处理它们 无论它
  • svn:ignore 的模式匹配字符

    在网上回应一个问题 svn ignore 模式的语法 记录在某处 唯一的图案 我可以在中找到匹配的字符 svn ignore 下的 SVN 书是 颠覆书 svn ignore http svnbook red bean com en 1 0
  • 使用php验证数字签名

    我有一封经过数字签名的电子邮件 email BEGIN PGP SIGNED MESSAGE Hash SHA1 The below email has been digitally signed for test purposes We
  • 从 PostgreSQL 检索原始通知文本

    我正在使用 PL pgSQL 尝试模拟我在 Oracle PL SQL 中可以执行的操作 其中 dbms output 相当于 stdout 我读过 RAISE NOTICE 可能是处理此问题的最佳方法 然而我的问题是 当我从 psycop