如何在postgres中获得执行时间

时间:2016-02-29 17:48:22

标签: postgresql plpgsql

我需要在plpgsql脚本中,为了多种目的(计算,显示和存储)获取变量中最后一个查询的执行时间,所以psql \timing选项不是我想要的,因为我不能操纵结果时间。你知道是否有像#34; get diagnostics"命令,但执行时间(或解决)?:

get diagnostics my_var := EXECUTION_TIME;

我找不到除row_countresult_oid之外的任何内容...

1 个答案:

答案 0 :(得分:5)

您可以在查询之前和之后比较clock_timestamp()

do $$
declare t timestamptz := clock_timestamp();
begin
 perform pg_sleep(random());
 raise notice 'time spent=%', clock_timestamp() - t;
end
$$ language plpgsql;

示例结果:

  

注意:花费的时间= 00:00:00.59173