In the MySQL
命令行界面,当您执行查询时,它会告诉您打印结果后查询执行需要多长时间。
在 Postgres 命令行界面中(psql
)它不会告诉你。我知道如何配置日志记录,以便我可以从日志中获取信息,但将其打印到标准输出会更方便,就像在MySQL
.
这可以做到吗?
Use \timing
正如所解释的“如何使用 psql 为 SQL 查询计时?” https://dba.stackexchange.com/q/3148/7788.
也可以看看的手册psql http://www.postgresql.org/docs/current/static/app-psql.html.
如果你想服务器端执行时间不包括将结果传输到客户端的时间,您可以设置log_min_duration_statement = 0
在配置中,然后SET client_min_messages = log
这样你就可以在控制台中获取日志信息。
您还可以使用EXPLAIN ANALYZE
获取详细的执行时间。除非您使用,否则会产生一些时间开销EXPLAIN (ANALYZE TRUE, TIMING FALSE)
,仅在较新版本中存在,并禁用详细计时以仅提供聚合执行时间。
PgBadger http://dalibo.github.io/pgbadger/,特别是当与the auto_explain module http://www.postgresql.org/docs/current/static/auto-explain.html,可以通过日志分析提供有用的聚合统计数据。
最后,还有pg_stat_statements http://www.postgresql.org/docs/current/static/pgstatstatements.html,它可以收集有关正在运行的系统的方便的聚合信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)