Распечатать план выполнения SQL с модулем Python psycopg2 - PullRequest
0 голосов
/ 13 сентября 2018

Можно ли как-то распечатать информацию из плана выполнения SQL, чтобы увидеть ее в моем терминале при использовании python и модуля psycopg2?

Я попробовал следующее, но в Терминале ничего не отображается:

cur.execute(cur.mogrify('explain analyze ' + sql_query, vals)

и с использованием print возвращает None:

print(cur.execute(cur.mogrify('explain analyze ' + sql_query, vals))

С на этот вопрос , я тоже попробовал следующее, но тоже не сработало:

cur.execute("LOAD 'auto_explain';")
cur.execute("SET auto_explain.log_min_duration = {min_ms};".format(min_ms=0))
cur.execute(sql_query, vals)

1 Ответ

0 голосов
/ 13 сентября 2018

Сразу после публикации вопроса я разобрался с ответом.На самом деле довольно простой.Мне просто нужно было получить его, как и с любой другой командой SELECT.

На случай, если у кого-то еще возникнет тот же вопрос:

cur.execute(cur.mogrify('explain analyze ' + sql_query, vals))
analyze_fetched = cur.fetchall()
print(analyze_fetched)
...