Python2打印postgresql存储过程引发的通知[英] Python2 print postgresql stored procedure raise notice

本文是小编为大家收集整理的关于Python2打印postgresql存储过程引发的通知的处理方法,想解了Python2打印postgresql存储过程引发的通知的问题怎么解决?Python2打印postgresql存储过程引发的通知问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

如何在 python 脚本上打印 postgres 的存储过程?

postgres 中的存储过程示例如下:

create or replace function checktime() returns void
language plpgsql
as $$
DECLARE timestart TIMESTAMP;

  FOR id from rt LOOP
    SELECT timeofday() into timestart;
    RAISE NOTICE 'Time now : %', timestart;
  END LOOP;

END;
$$
;

在 python 中,我的脚本是:

import psycopg2
conn = psycopg2.connect(host="", database="", 
user="", password="")
print("Database Connected")
cur = conn.cursor()
rowcount = cur.rowcount

cur.callproc('rt_visits_function_gz')
# how can i display the raise notice in here?

我希望每个循环在我运行 python 时显示结果.

谢谢

推荐答案

尝试使用'notices'

打印(conn.notices)

http://initd.org/psycopg/docs/connection.html?highlight=notice#connection.notices

本文地址:https://www.itbaoku.cn/post/1763945.html