A transaction-start marker is reused across commands. Statement markers track command receipt, and wall-clock samples are taken on evaluation.

PostgreSQL time functions sample different moments

PostgreSQL offers several meanings of “current time.” A transaction timestamp identifies the beginning of a transaction, a statement timestamp identifies a command’s arrival, and a wall-clock reading samples the current clock during evaluation. Choosing among them changes the meaning of audit fields, expiration checks, and observations made during long-running work. ...

January 13, 2028 · 5 min · XB Field Notes