【Postgresql】トランザクション中、CURRENT_TIMESTAMPなどの値は固定

ハマった。

https://www.postgresql.jp/document/7.2/user/functions-datetime.html#FUNCTIONS-DATETIME-CURRENT

CURRENT_TIMESTAMP と、それに関連する関数はすべて現在のトランザクションが開始された時間を返すことを認識してください。とても重要なことです。この値はトランザクションが実行されている間に増加しません。とは言っても、timeofday() は実際の現在時間を返します。

代替として、clock_timestamp()timeofday()を使う。