SQLSTATE 08006 FATAL Class 08: Connection Exception

connection_failure connection to client lost — 08006

PostgreSQL error “connection to client lost” (SQLSTATE 08006, connection_failure): what it means, common causes, and how to fix it.

PG 15, 16, 17, 18, 19 Official docs
Last reviewed Jun 2026 Grounded in source
Production impact Medium Competency Connections & Pooling Career Resolve "too many connections" live Frequency Occasional

Investigation

Symptoms

A statement failed with SQLSTATE 08006 (connection_failure), reported at severity FATAL. This is a Connection Exception condition: PostgreSQL emits the message connection to client lost.

  • The client receives SQLSTATE 08006 (connection failure).
  • The operation is rejected at FATAL level; the statement does not complete.

What the server log shows

FATAL:  connection to client lost

Why PostgreSQL raises this

Class 08 (Connection Exception) covers failures establishing or maintaining the client/server or replication connection. PostgreSQL raises it when the transport, handshake, or authentication channel breaks before or during a session.

As described in PostgreSQL’s Section 34.1 Database Connection Control Functions and Appendix A (PostgreSQL Error Codes), SQLSTATE 08006 carries the condition name connection_failure in class Connection Exception. (Paraphrased — see the linked reference for the exact wording.)

Common causes

  • The server is down, restarting, or not listening on the expected host/port.
  • A network device, firewall, or proxy dropped or refused the connection.
  • TLS/GSS negotiation or the startup handshake failed.
  • The session was terminated by the server or a timeout.

How to fix it

  1. Confirm the server is up and accepting connections (pg_isready).
  2. Verify host, port, and listen_addresses reachability.
  3. Check firewalls, security groups, and any connection pooler in the path.
  4. Inspect the server log around the disconnect for the underlying cause.

Version applicability

This message is present in PostgreSQL 15, 16, 17, 18 and 19.

Related & next steps

Reference: PostgreSQL Section 34.1 Database Connection Control Functions.

Keep going

Related & next steps

Was this helpful?