53000 \u2014 insufficient_resources
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.
English manual coverage begins with PostgreSQL 8.1. Source history and runtime observations have their own recorded version boundaries.
Reading PG 18·Select a recorded version
- aliases
- Unknown
- class name
- Insufficient Resources
- condition name
- insufficient_resources
- lang
- en
- sqlstate
- 53000
Definition PG 18
53000
At a glance {#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.
Meaning {#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 {#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 {#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 {#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.
Related {#related}
Sources {#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.
Compare versions
SQLSTATE evidence and recorded runtime versions
claims · identity
{
"claim_id": "identity",
"limits": "",
"method": "Read fixed definition.",
"position": 0,
"runtime": [],
"sources": [
"src.errcodes.18.6"
],
"statement": "53000 is insufficient_resources in SQLSTATE Class 53."
}claims · resolved-paths
{
"claim_id": "resolved-paths",
"limits": "Source confirmation is not natural runtime.",
"method": "Read complete fixed source contexts.",
"position": 1,
"runtime": [],
"sources": [
"src.path.0",
"src.path.1",
"src.path.2"
],
"statement": "The cited PostgreSQL 18.6 source paths support the representative resource and object-state mechanisms described."
}claims · history
{
"claim_id": "history",
"limits": "",
"method": "Use catalogue boundary.",
"position": 2,
"runtime": [],
"sources": [
"src.errcodes.18.6"
],
"statement": "The locked catalogue records 53000 from 7.4; that boundary does not prove exact implementation introduction."
}messages · message.0
{
"limits": "",
"message_id": "message.0",
"path": "",
"position": 0,
"raw": {
"id": "message.0",
"primary_template": "could not register background process",
"severity_source": "ERROR",
"sources": [
"src.path.0"
],
"sqlstate": "53000"
},
"severity": "ERROR",
"sources": [
"src.path.0"
],
"templates": [
{
"kind": "primary",
"literal": "could not register background process",
"position": 0,
"role": "",
"template": "could not register background process"
}
]
}messages · message.1
{
"limits": "",
"message_id": "message.1",
"path": "",
"position": 1,
"raw": {
"id": "message.1",
"primary_template": "no empty local buffer available",
"severity_source": "ERROR",
"sources": [
"src.path.1"
],
"sqlstate": "53000"
},
"severity": "ERROR",
"sources": [
"src.path.1"
],
"templates": [
{
"kind": "primary",
"literal": "no empty local buffer available",
"position": 0,
"role": "",
"template": "no empty local buffer available"
}
]
}messages · message.2
{
"limits": "",
"message_id": "message.2",
"path": "",
"position": 2,
"raw": {
"detail_template": "System allows %d, server needs at least %d, %d files are already open.",
"id": "message.2",
"primary_template": "insufficient file descriptors available to start server process",
"severity_source": "FATAL",
"sources": [
"src.path.2"
],
"sqlstate": "53000"
},
"severity": "FATAL",
"sources": [
"src.path.2"
],
"templates": [
{
"kind": "primary",
"literal": "insufficient file descriptors available to start server process",
"position": 0,
"role": "",
"template": "insufficient file descriptors available to start server process"
},
{
"kind": "detail",
"literal": "System allows , server needs at least , files are already open.",
"position": 1,
"role": "",
"template": "System allows %d, server needs at least %d, %d files are already open."
}
]
}sources · src.errcodes.18.6
{
"commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
"docs_url": "",
"kind": "upstream_source",
"location": "",
"path": "src/backend/utils/errcodes.txt",
"position": 0,
"sha256": "6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba",
"source_id": "src.errcodes.18.6",
"tag": "REL_18_6",
"url": "https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/utils/errcodes.txt#L407"
}sources · src.path.0
{
"commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
"docs_url": "",
"kind": "upstream_source",
"location": "",
"path": "contrib/pg_prewarm/autoprewarm.c",
"position": 1,
"sha256": "cd1e194620b6150afe1f014d8acb7126cffbd0a821b97eb493862574ef44518d",
"source_id": "src.path.0",
"tag": "REL_18_6",
"url": "https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/contrib/pg_prewarm/autoprewarm.c#L943"
}sources · src.path.1
{
"commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
"docs_url": "",
"kind": "upstream_source",
"location": "",
"path": "src/backend/storage/buffer/localbuf.c",
"position": 2,
"sha256": "aa2214374b99c7f7cf43cd10541a9e9bbccd87a2699f3c9f086d9c895548dbc5",
"source_id": "src.path.1",
"tag": "REL_18_6",
"url": "https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/storage/buffer/localbuf.c#L270"
}sources · src.path.2
{
"commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
"docs_url": "",
"kind": "upstream_source",
"location": "",
"path": "src/backend/storage/file/fd.c",
"position": 3,
"sha256": "2555a359cc0c98650beb5acb69de49412b15fa1c29944fbc69c158464db78447",
"source_id": "src.path.2",
"tag": "REL_18_6",
"url": "https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/storage/file/fd.c#L1072"
}Source references
Full definition and evidence JSON
Definition sources
center · PostgreSQL 18 · english-manuals:ee159673a6e649cd3348bd5f3040826ed6334d67c129cc95863cafc65c8d8440
Text language: en · english-manuals:ee159673a6e649cd3348bd5f3040826ed6334d67c129cc95863cafc65c8d8440