# 53400 — configuration_limit_exceeded

> PostgreSQL SQLSTATE 53400 的来源与诊断参考。
---

# 53400

## 速览 {#at-a-glance}
`53400` 表示配置或有限 process slot 已耗尽。固定路径覆盖后台 worker、逻辑复制 worker 和 replication-origin 状态槽位。

<!-- BEGIN SQLSTATE FACTS: generated by scripts/generate.py; do not edit -->

| 字段 | 值 |
| --- | --- |
| SQLSTATE | `53400` |
| 条件名 | `configuration_limit_exceeded` |
| 状态 | `有效` |
| 已知存在于 | `9.2.0` |
| 锁定快照 | `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` |
| 宏 | `ERRCODE_CONFIGURATION_LIMIT_EXCEEDED` |
| 别名 | `—` |

<!-- source facts: data/errcodes/53400.json -->
<!-- END SQLSTATE FACTS -->

## 含义 {#meaning}
源码区分后台 worker 过多、没有 autovacuum/background worker 槽位、逻辑复制 worker 槽位耗尽以及 replication-origin 状态限制；可确定参数时 hint 会指向它。

## 诊断 {#diagnosis}
保留组件和参数，检查 worker 数、活动复制、origin ID、slot 及服务器日志；将 worker 槽位与通用资源不足 `53000`、语句复杂度限制 `54001` 区分。

## 处理 {#response}
释放正常占用槽位或在确认进程与内存容量后提高指定配置，按常规 reload/restart 流程验证组件能启动。这些 worker、launcher 和 replication-origin 路径可能运行在后台 backend，而不是客户端事务中；若 `ERROR` 到达显式客户端事务，重试前执行 `ROLLBACK` 或 `ROLLBACK TO SAVEPOINT`，自动提交只有在槽位原因修复后才能重试。不要为制造错误而创建 worker。

## 版本 {#versions}
锁定目录从 9.2.0 记录；引用路径来自 PostgreSQL 18.6，未执行槽位耗尽运行。

## 相关 {#related}
[`53000`](../53000/)、[`55000`](../55000/)、[`54001`](../54001/)

## 来源 {#sources}
[`src/backend/postmaster/bgworker.c#L1002-L1009`](https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/postmaster/bgworker.c#L1002)

[`src/backend/replication/logical/launcher.c#L435-L438`](https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/replication/logical/launcher.c#L435)

[`src/backend/replication/logical/origin.c#L976-L980`](https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/replication/logical/origin.c#L976)

结构化[证据记录](../../data/evidence/53400.json)保存固定消息以及源码/运行边界。
