All errors
PG-503Database

PostgreSQL 503 Connection Timeout

Application tier cannot acquire connections from the PostgreSQL pool, returning HTTP 503 to upstream callers.

Root Cause & Remediation

Saturated connection pool (PgBouncer or application pool) combined with long-running queries or replica failover. Often triggered by missing statement timeouts, runaway analytics queries, or a primary failover storm.

Remediation steps

  1. 1Inspect pg_stat_activity for long-running queries and terminate offenders.
  2. 2Increase PgBouncer pool size or move to transaction pooling mode.
  3. 3Add statement_timeout and idle_in_transaction_session_timeout at the role level.
  4. 4Verify replica promotion completed and DNS/HAProxy points to the new primary.
  5. 5Add circuit breakers in the application layer to fail fast and shed load.

DORA Risk Matrix

Typical classification
MAJOR INCIDENT
Likelihood
High
Blast radius
Typically affects every service sharing the cluster.
CIF impact
Payments, account access and ledger writes can stall within minutes.
Analyst notes
Database outages routinely cross the 2-hour CIF threshold and frequently impact > 10% of clients.

Ready to classify this incident?

Use the DoraPulse Triage Calculator to instantly determine if this event breaches DORA materiality thresholds and generate a ready-to-file regulatory draft for your internal compliance team.

Open Triage Calculator — Pre-filled for PostgreSQL 503 Connection Timeout