Type: | integer |
Default: | 0 (0ms) |
Min: | 0 (0ms) |
Max: | 2147483647 (2147483647ms) |
Unit: | milliseconds (ms) |
Context: | user |
Restart: | false |
Since: | 17 |
Terminate any session that spans longer than the specified amount of time in a transaction. The limit applies both to explicit transactions (started with BEGIN) and to an implicitly started transaction corresponding to a single statement. If this value is specified without units, it is taken as milliseconds. A value of zero (the default) disables the timeout.
If transaction_timeout
is shorter or equal to idle_in_transaction_session_timeout or statement_timeout then the longer timeout is ignored.
Setting transaction_timeout
in postgresql.conf is not recommended because it would affect all sessions.
Prepared transactions are not subject to this timeout.
On StackOverflow
On pgsql-hackers
- Re: Assertion failure during initdb with transaction_timeout set
- Assertion failure during initdb with transaction_timeout set
- Re: POC: enable logical decoding when wal_level = 'replica' without a server restart
- RE: A assert failure when initdb with track_commit_timestamp=on
- Re: A assert failure when initdb with track_commit_timestamp=on