Files
2026-03-02 21:16:26 +01:00

1.3 KiB

title, impact, impactDescription, tags
title impact impactDescription tags
Configure Idle Connection Timeouts HIGH Reclaim 30-50% of connection slots from idle clients connections, timeout, idle, resource-management

Configure Idle Connection Timeouts

Idle connections waste resources. Configure timeouts to automatically reclaim them.

Incorrect (connections held indefinitely):

-- No timeout configured
show idle_in_transaction_session_timeout;  -- 0 (disabled)

-- Connections stay open forever, even when idle
select pid, state, state_change, query
from pg_stat_activity
where state = 'idle in transaction';
-- Shows transactions idle for hours, holding locks

Correct (automatic cleanup of idle connections):

-- Terminate connections idle in transaction after 30 seconds
alter system set idle_in_transaction_session_timeout = '30s';

-- Terminate completely idle connections after 10 minutes
alter system set idle_session_timeout = '10min';

-- Reload configuration
select pg_reload_conf();

For pooled connections, configure at the pooler level:

# pgbouncer.ini
server_idle_timeout = 60
client_idle_timeout = 300

Reference: Connection Timeouts