# 2203D — too_many_json_array_elements

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

# 2203D

## 速览 {#at-a-glance}
锁定条件名表示 JSON 数组元素过多。对固定 PostgreSQL 18.6 的定向扫描没有解析出发出路径。

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

| 字段 | 值 |
| --- | --- |
| SQLSTATE | `2203D` |
| 条件名 | `too_many_json_array_elements` |
| 状态 | `有效` |
| 已知存在于 | `12.0` |
| 锁定快照 | `12.22, 13.23, 14.24, 15.19, 16.15, 17.11, 18.6, 19beta3` |
| 宏 | `ERRCODE_TOO_MANY_JSON_ARRAY_ELEMENTS` |
| 别名 | `—` |

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

## 含义 {#meaning}
定义将该条件命名为 `too_many_json_array_elements`，但 PostgreSQL 18.6 的定向源码审阅没有解析出原生 2203D 发出方。因此本页只记录条件身份和基数边界，不指定 JSON_TABLE/SQL/JSON 包装方式、首要报文、DETAIL 或 HINT。

## 诊断 {#diagnosis}
保留完整诊断并确认实际发出组件及其元素数量规则。根据该操作确认它要求一个项、多个元素还是其他文档规定的基数；条件名本身不能证明存在包装或汇总，也不能证明它们能修复问题。

## 处理 {#response}
确认实际发出方后，遵循该组件文档规定的元素数量规则，按实际输入或基数修正。不要预设存在可用的包装或汇总，也不要预设它们能够解决本条件。如果 ERROR 发生在显式事务中，应先 ROLLBACK 或回滚到既有保存点再重试；自动提交可重试修正后的动作。

## 版本 {#versions}
锁定目录从 12.0 起记录该条件；本页仅固定 PostgreSQL 18.6 定义行，未声称有原生发出路径或自然运行观察。

## 相关 {#related}
[`22034`](../22034/)、[`22035`](../22035/)、[`2203E`](../2203e/)

## 来源 {#sources}
固定定义行见 [`errcodes.txt#L228`](https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/utils/errcodes.txt#L228)。定向源码审阅没有解析出原生 2203D 发出路径；结构化[证据记录](../../data/evidence/2203d.json)明确保留这一未知范围，本页未运行自然案例。
