如何从Postsql中提取时间成本,在python

时间:2019-04-15 19:27:45

标签: python postgresql

我将来自postgres的explain命令的内容(用于SQL查询)输出到.txt文件中。 这是我从Postgres的explain命令获得的第一行

Bitmap Heap Scan on r  (cost=3656.95..15795.10 rows=6094 width=39)

我正在尝试编写python脚本以提取获取Python中所有行(15795.10)的时间成本。

with open(output_file, 'r') as output:
    for line in output.readlines():
        # extract time cost here

关于在逐行阅读.txt时如何提取此信息的任何想法?谢谢!

1 个答案:

答案 0 :(得分:3)

对于机器可读的输出,documentation建议使用其他EXPLAIN格式。

EXPLAIN (FORMAT JSON) SELECT * FROM foo;

例如,将使用python json library为您提供一种结构化的方法。

否则,您将不得不通过python中的正则表达式使用模式匹配。

如果您不需要python进行其他操作,那么在命令行上还可以使用'jq'解释JSON。