STATEMENT
Each statement of the transaction, through statement_timeout: one that runs longer is cancelled, and it comes back as ExecutionAbortedException on a connection that stays.
Each statement, not their sum: every one gets the whole timeout, so a transaction of several statements can run longer than the timeout as a whole.