2016-02-29 38 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()它的工作原理!謝謝 –