バッチ処理にpl/pgsqlも使ってたりするんですが、 先週たまたまアボートしてログ見てる時に気付いたことが。 あれ、開始と終了の時刻が一緒。 ログ出力で、ストアドの開始と終了に実行日付出してるんですが、 どのストアドみても開始と終了の時刻が一緒になってるんです。 なんで?バグ? と思って、ドキュメント見直したら仕様でした! 時刻取得にnow()を使ってたんですが、トランザクション内で常に同じ値を返すらしい。 now()はCURRENT_TIMESTAMPと同じもので、伝統的なPostgreSQL関数です。 transaction_timestamp()はCURRENT_TIMESTAMP同様のものですが、明確に何が返されるかを示す名前になっています。 statement_timestamp()は現在の文の実行開始時刻を返すものです(より具体的にいうと、直前のコマンドメッセージをクライアン