SQLSTATE 53000 ERROR Class 53: Insufficient Resources

insufficient_resources Insufficient Resources — SQLSTATE 53000

SQLSTATE 53000 (insufficient_resources): The server ran out of a finite resource (connections, memory, disk, or locks).

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

Symptoms

The server reports SQLSTATE 53000 (insufficient_resources), a condition in the Insufficient Resources class.

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

Environment

Severity: ERROR  |  PostgreSQL versions: 12, 13, 14, 15, 16, 17

Most often seen under load or on under-provisioned servers; correlate it with system metrics (CPU, memory, disk, connection count) at the time of the error.

Root Cause

53000 belongs to Class 53 — Insufficient Resources. In this class, the server ran out of a finite resource (connections, memory, disk, or locks).

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

Diagnostic Queries

Recovery

Relieve or raise the limiting resource: add connection pooling (53300), tune work_mem/maintenance_work_mem (53200), reclaim disk and fix WAL/archiving (53100), or raise the configured limit (53400).

Reference: PostgreSQL error codes — Class 53 (Insufficient Resources).

Was this helpful?