Postgres current_time评估

时间:2014-02-11 15:33:29

标签: postgresql time

我正在尝试在“消息”窗格中显示Postgres 9.3.0中长时间运行的功能的状态信息。 Postgres只在函数执行开始时评估localtime,而不是在调用值时。它重复输出相同的值。我该如何解决这个问题?

我正在迭代这样的游标:

FOR record IN cursor LOOP
    PERFORM otherFunction(<id field from the record>);
    If mod(i,100)=0 THEN
        RAISE NOTICE '% pct complete',round(i::numeric/recordcount::numeric*100);
        RAISE NOTICE '%', localtime;
        i=i+1;
    END IF;
END LOOP;

谢谢!

1 个答案:

答案 0 :(得分:1)

请参阅the user manual for current date/time

localtimecurrent_timestamp一样,在整个交易中得到修复。

如果您希望每次通话都有新的时间,请使用clock_timestamp。请注意,与localtime不同,它会返回timestamp with time zone,因此您可能希望at time zone转换它,或投出它。