我想定时执行我的代码。我使用now()跟踪经过的时间。我的代码如下:
DO $$
DECLARE
...
PROGRAMM_TIME_ELAPSED TIMESTAMP;
BEGIN
SELECT INTO PROGRAMM_TIME_ELAPSED now();
...
raise notice '% values created in %', VALUES_COUNT, now() - PROGRAMM_TIME_ELAPSED;
END $$;
此代码显示... values created in 00:00:00
。总是。不依赖于经过多少时间。
甚至还有:
raise notice '%', now();
raise notice '%', now();
raise notice '%', now();
raise notice '%', now();
raise notice '%', now();
产生5个绝对相同的值。例如。 2019-01-30 12:26:57.195649+00
。调用函数的持续时间肯定超过1微秒。
我想念什么?在postgres中进行计时的首选方法是什么?