PostgreSQL のトランザクションで now() は固定される
code:now.sql
app=# BEGIN;
SELECT now() AS tx_now, clock_timestamp() AS wall_clock;
SELECT pg_sleep(2);
SELECT now() AS tx_now, clock_timestamp() AS wall_clock;
COMMIT;
BEGIN
tx_now | wall_clock
-------------------------------+-------------------------------
2026-05-29 19:33:23.291544+09 | 2026-05-29 19:33:23.299732+09
(1 row)
pg_sleep
----------
(1 row)
tx_now | wall_clock
-------------------------------+-------------------------------
2026-05-29 19:33:23.291544+09 | 2026-05-29 19:33:25.306875+09
(1 row)
COMMIT