Postgres: Trigger always uses the same value for now()
Manual:https://www.postgresql.org/docs/current/functions-datetime.html#FUNCTIONS-DATETIME-CURRENT

statement_timestamp() / now() returns the start time of the current statement (more specifically, the time of receipt of the latest command message from the client).
clock_timestamp() returns the actual current time, and therefore its value changes even within a single SQL command.