使用 psycopg2,如何获得 "INFO:" 行?
using psycopg2, how do I get "INFO:" lines?
我想在 python 中编写一个脚本,它分析 table,然后使用该分析的输出进行更多处理。
这是我在 psql 中得到的:
bacula=# analyze verbose version;
INFO: analyzing "public.version"
INFO: "version": scanned 1 of 1 pages, containing 1 live rows and 0 dead rows; 1 rows in sample, 1 estimated total rows
ANALYZE
bacula=#
我想要的行是以 "INFO:" 开头的行(具体来说,关于 live/dead 行的信息,具有更复杂的逻辑,以确定我是否要进行 vacuum full)。
这是我目前的情况:
import psycopg2
conn = psycopg2.connect(connectionstring)
conn.set_isolation_level(0)
cur.execute("analyze verbose version")
print(cur.statusmessage)
cur.statusmessage 显示 psql 输出的最后一行 ("ANALYZE")。如何获取信息:行?
我试过 "fetchall",但没有用。
我认为您正在寻找的是连接对象上的通知属性。
根据文档:
通知
包含会话期间发送给客户端的所有数据库消息的列表。
我想在 python 中编写一个脚本,它分析 table,然后使用该分析的输出进行更多处理。
这是我在 psql 中得到的:
bacula=# analyze verbose version;
INFO: analyzing "public.version"
INFO: "version": scanned 1 of 1 pages, containing 1 live rows and 0 dead rows; 1 rows in sample, 1 estimated total rows
ANALYZE
bacula=#
我想要的行是以 "INFO:" 开头的行(具体来说,关于 live/dead 行的信息,具有更复杂的逻辑,以确定我是否要进行 vacuum full)。
这是我目前的情况:
import psycopg2
conn = psycopg2.connect(connectionstring)
conn.set_isolation_level(0)
cur.execute("analyze verbose version")
print(cur.statusmessage)
cur.statusmessage 显示 psql 输出的最后一行 ("ANALYZE")。如何获取信息:行?
我试过 "fetchall",但没有用。
我认为您正在寻找的是连接对象上的通知属性。
根据文档:
通知
包含会话期间发送给客户端的所有数据库消息的列表。