Symptoms
The session was closed after exceeding idle_session_timeout.
- The error is written to the server log and returned to the client carrying
SQLSTATE 57P05. - Any driver (libpq, JDBC, psycopg, npgsql, pgx) surfaces this code in its error object so you can branch on it programmatically.
- PL/pgSQL can trap it by name:
EXCEPTION WHEN idle_session_timeout THEN.
Environment
Severity: ERROR | PostgreSQL versions: 12, 13, 14, 15, 16, 17
Commonly coincides with restarts, failover, maintenance, or network events; check server uptime and the log around the timestamp.
Root Cause
The connection sat idle (outside any transaction) longer than the configured limit and was reaped.
Diagnostic Queries
Recovery
Steps to resolve 57P05:
- Reconnect on demand.
- Tune
idle_session_timeoutand have the pool reap idle connections gracefully.
Reference: PostgreSQL error codes — Class 57 (Operator Intervention).
Thanks — noted. This helps keep the database accurate.