PostgreSQL version:

idle_in_transaction_session_timeout

Terminate any session with an open transaction that has been idle for longer than the specified duration in milliseconds. This allows any locks held by that session to be released and the connection slot to be reused; it also allows tuples visible only to this transaction to be vacuumed. See routine-vacuuming for more details about this.

The default value of 0 disables this feature.

Recommendations

Set to 1 hour maximum, or as low as 1 minute if you know your query load well. Idle transactions are bad news.

Comments