Sorry.
I have re-read my previous message.
It looks unclean.
For sequential calls in same transaction `now()` and `current_timestamp` will produce the same output.
```
begin; -- start a transaction
select
now() immutable_now,
current_timestamp immutable_current_ts,
clock_timestamp() mutable_clock_ts;
select pg_sleep(1); -- wait a couple of time
select
now() immutable_now, -- same as above
current_timestamp immutable_current_ts, -- same as above
clock_timestamp() mutable_clock_ts; -- value changed
select pg_sleep(1); -- wait a couple of time again
select
now() immutable_now, -- same as above
current_timestamp immutable_current_ts, -- same as above
clock_timestamp() mutable_clock_ts; -- value changed
commit; -- commit or rollback
```