如何在postgres中获取执行时间
How to get execution time in postgres
我需要在 plpgsql 脚本中获取变量中最后一个查询的执行时间用于多种目的(计算、显示和存储),所以 psql \timing
选项不是我所看到的因为我无法操纵结果时间。你知道是否有类似 "get diagnostics" 命令的东西,但执行时间(或解决方法)?:
get diagnostics my_var := EXECUTION_TIME;
除了 row_count
和 result_oid
...
我找不到其他任何东西
可以对比clock_timestamp()
查询前后:
do $$
declare t timestamptz := clock_timestamp();
begin
perform pg_sleep(random());
raise notice 'time spent=%', clock_timestamp() - t;
end
$$ language plpgsql;
示例结果:
NOTICE: time spent=00:00:00.59173
我需要在 plpgsql 脚本中获取变量中最后一个查询的执行时间用于多种目的(计算、显示和存储),所以 psql \timing
选项不是我所看到的因为我无法操纵结果时间。你知道是否有类似 "get diagnostics" 命令的东西,但执行时间(或解决方法)?:
get diagnostics my_var := EXECUTION_TIME;
除了 row_count
和 result_oid
...
可以对比clock_timestamp()
查询前后:
do $$
declare t timestamptz := clock_timestamp();
begin
perform pg_sleep(random());
raise notice 'time spent=%', clock_timestamp() - t;
end
$$ language plpgsql;
示例结果:
NOTICE: time spent=00:00:00.59173