53400
Read PG 18 manual ↗configuration_limit_exceeded
- SQLSTATE
- 53400
- Condition name
- configuration_limit_exceeded
- Class
- Insufficient Resources
- Source macro
- ERRCODE_CONFIGURATION_LIMIT_EXCEEDED
- Evidence
- Source path confirmed
English SQLSTATE atlas: authored explanations and source/runtime evidence are separate from the manual definitions. View source ↗
At a glance
53400 reports that a configured or finite process slot is exhausted. Fixed paths cover background workers, logical-replication workers, and replication-origin state slots.
Meaning
The source distinguishes too many background workers, no slot for a new autovacuum/background worker, no logical-replication worker slots, and replication-origin state limits. Hints name the parameter where the path can identify one; the current setting and workload determine whether increasing it is safe.
Diagnosis
Keep the exact component and parameter from the message. Inspect worker counts, active replication, origin IDs, slots, and server logs; distinguish a worker-slot limit (53400) from a generic resource failure (53000) or a statement complexity limit (54001).
Response
Remove or finish work that legitimately holds the slot, or raise the named configuration after checking process and memory capacity. Apply the change through the normal configuration/restart or reload procedure, then verify that the requested component can start. These fixed worker, launcher, and replication-origin paths can run in background backend processes rather than a client transaction; where an ERROR reaches an explicit client transaction, use ROLLBACK or ROLLBACK TO SAVEPOINT before retrying, and in autocommit retry only after the slot cause is corrected. Do not create workers merely to force this condition.
Versions
The locked catalogue records this condition from 9.2.0; cited background-worker and logical-replication paths are PostgreSQL 18.6 source. No slot exhaustion was run.
Sources
src/backend/postmaster/bgworker.c#L1002-L1009
src/backend/replication/logical/launcher.c#L435-L438
src/backend/replication/logical/origin.c#L976-L980
The structured evidence record records fixed messages and the source/runtime boundary.
Source evidence
Evidence belongs to the frozen source and runtime versions listed here. It is not a runtime verification of the selected manual version.
53400 is configuration_limit_exceeded in SQLSTATE Class 53.
Method: Read fixed definition.
The cited PostgreSQL 18.6 source paths support the representative resource and object-state mechanisms described.
Method: Read complete fixed source contexts.
Limits: Source confirmation is not natural runtime.
The locked catalogue records 53400 from 9.2.0; that boundary does not prove exact implementation introduction.
Method: Use catalogue boundary.
- src/backend/utils/errcodes.txt · REL_18_6 ·
724edf9bde9d356724ad384a2e196edc3c9f80f7 - src/backend/postmaster/bgworker.c · REL_18_6 ·
724edf9bde9d356724ad384a2e196edc3c9f80f7 - src/backend/replication/logical/launcher.c · REL_18_6 ·
724edf9bde9d356724ad384a2e196edc3c9f80f7 - src/backend/replication/logical/origin.c · REL_18_6 ·
724edf9bde9d356724ad384a2e196edc3c9f80f7
Message templates
ERROR · message.0
Primary
too many background workers
Hint
Consider increasing the configuration parameter "%s".
ERROR · message.1
Primary
out of logical replication worker slots
Hint
You might need to increase "%s".
ERROR · message.2
Primary
could not find free replication state slot for replication origin with ID %d
Hint
Increase "max_active_replication_origins" and try again.
Reproduction & repair cases
No reproduction case is attached to this condition.
Recorded runtime evidence
No runtime observation is attached to this entry.
Version history 1
- PG 9.1 → 9.2added
Definition snapshot: english-manuals:8154f0159b3b1571ec217972438… · English manual source