2016-02-29 20 views
1

我需要在一个plpgsql脚本中为了多种目的(计算,显示和存储)获取变量中最后一个查询的执行时间,所以psql \timing选项不是我所期望的寻找,因为我无法操纵结果时间。你知道,如果有一个像“获取诊断”命令什么,但对于执行时间(或解决):如何在postgres中获得执行时间

get diagnostics my_var := EXECUTION_TIME; 

我无法找到任何东西比row_countresult_oid ...

回答

3

可以前后查询后比较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

+0

其实我试过,但与现在(),因为它是交易时间,我前后有相同的时间,但clock_timestamp()它的工作原理!谢谢 –

相关问题