Idle transactions hold locks and block operations
criticalConnection ManagementUpdated Feb 26, 2026
Technologies:
How to detect:
Default idle_in_transaction_session_timeout of 0 (unlimited) allows idle transactions to hold locks indefinitely, blocking DDL and DML operations
Recommended action:
Set idle_in_transaction_session_timeout to 1-5 minutes to automatically terminate idle transactions. Monitor postgresql.sessions.idle_in_transaction_time and postgresql.locks. Check pg_stat_activity for long-running idle transactions.