SQLSTATE 08000 ERROR Class 08: Connection Exception

connection_exception Connection Exception — SQLSTATE 08000

SQLSTATE 08000 (connection_exception): The client/server connection could not be established or was lost.

PG 12, 13, 14, 15, 16, 17, 18 Official docs
Last reviewed May 2025 Grounded in source

Symptoms

The server reports SQLSTATE 08000 (connection_exception), a condition in the Connection Exception class.

  • The error is written to the server log and returned to the client carrying SQLSTATE 08000.
  • 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 connection_exception 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

08000 belongs to Class 08 — Connection Exception. In this class, the client/server connection could not be established or was lost.

The first two characters (08) identify the error class, so application code can match the whole class via 08000 when the specific code is not needed.

Diagnostic Queries

Recovery

Verify the server is running and reachable (pg_isready), check host/port, listen_addresses, pg_hba.conf, firewalls and TLS, and add reconnect-with-backoff so the client never reuses a broken connection.

Reference: PostgreSQL error codes — Class 08 (Connection Exception).

Was this helpful?