我想获得查询的执行时间,如\timing shows所示,但我通过PQexec()发送命令似乎没有效果,是否有其他方法可以获得查询的执行时间?谢谢。

最佳答案

\timing是在psql中实现的客户端命令。它报告从psql发送查询到收到响应的时间。查看psql源代码了解详细信息。
在服务器端不可能这样做。
如果需要服务器端计时,您可能需要log_min_duration_statementclient_min_messageslog_durationexplain (analyze on, costs off, timing on)等。
不过,很可能您只是想在运行查询之前保存wallcock时间,并将其与客户端查询结束时的wallcock时间进行比较。

09-16 01:08