我想用 python 编写一个脚本,它分析一个表,然后使用该分析的输出进行更多处理。
这是我在 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:”开头的行(具体来说,关于活行/死行的信息,具有更复杂的逻辑,以确定我是否想做一个 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”)。如何获取 INFO: 行?
我试过“fetchall”,但没用。
最佳答案
我认为您正在寻找的是连接对象上的 notices 属性。
根据文档:
通知
包含 session 期间发送给客户端的所有数据库消息的列表。
关于python - 使用 psycopg2,如何获得 "INFO:"行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41212370/