0

我需要显示在屏幕套接字内执行的 psql 命令的执行时间。通常我使用命令:

psql -c 'select 1' -d my_db -U my_user -h localhost

此查询的输出如下所示:

?column? - 1 row

如何获得执行时间?我正在尝试使用 \timing,但没有任何结果......

4

1 回答 1

2

定义“执行时间”。这里有很多不同的。

  • psql包括或不包括二进制文件的启动时间?
  • 包括还是不包括建立连接所花费的时间?
  • 包括或不包括发送查询和接收结果的网络往返和上下文切换时间?
  • 包括或不包括服务器计划查询所花费的时间?
  • 包括或不包括在计划后执行查询的服务器上花费的时间?
  • 包括或不包括格式化结果显示的时间?

对于最简单的,使用timefedorqui 所说的命令。time psql ....

要说如何计时,您需要首先定义您真正想要的时间。

然后,您可以考虑使用explain analyze(可能使用单独的prepareand explain analyze executeexplain (analyze true, timing false)来获取服务器运行时,而无需详细的每个节点的计时开销、log_min_duration_statement服务器设置、psql'\timing选项、OStime命令等。

于 2013-06-25T13:14:07.357 回答