Skip to content

53000 — insufficient_resources

Source-backed reference for PostgreSQL SQLSTATE 53000.

53000

At a glance

53000 is the broad insufficient-resources condition. Fixed 18.6 callers include background-worker startup, local-buffer exhaustion, and file-descriptor limits, so the message and startup/runtime phase identify the resource.

Field Value
SQLSTATE 53000
Condition insufficient_resources
Status active
Known present by 7.4
Locked snapshots 9.0.23, 9.1.24, 9.2.24, 9.3.25, 9.4.26, 9.5.25, 9.6.24, 10.23, 11.22, 12.22, 13.23, 14.24, 15.19, 16.15, 17.11, 18.6, 19beta3
Macros ERRCODE_INSUFFICIENT_RESOURCES
Aliases

Meaning

The class-level condition does not identify one tunable. For example, could not register background process points to worker capacity, no empty local buffer available to local-buffer state, and file-descriptor variants report either startup minimums or a per-process allocation limit.

Diagnosis

Record the primary message, detail/hint, phase, and server log context. For startup, compare process limits and configured worker capacity. For a running command, determine whether the failing object is a local buffer, descriptor, worker slot, or another fixed resource before changing settings.

Response

Relieve or increase the specific resource named by the message, within the platform and PostgreSQL limits. Clean up unused descriptors or workers and verify the relevant configuration. If an ERROR occurs inside an explicit transaction, use ROLLBACK or ROLLBACK TO SAVEPOINT before retrying; in autocommit, retry only after the named resource is available. Startup FATAL paths such as the server-process descriptor check have no client transaction to recover. Do not apply a generic restart or memory change without identifying the exhausted resource.

Versions

The locked catalogue records this condition from 7.4; cited callers are PostgreSQL 18.6 source. No resource exhaustion was manufactured on a host.

53400, 54001, 53200

Sources

contrib/pg_prewarm/autoprewarm.c#L943-L981

src/backend/storage/buffer/localbuf.c#L270-L272

src/backend/storage/file/fd.c#L1072-L1078

The structured evidence record records fixed messages and the source/runtime boundary.