# 22000 — data_exception

> PostgreSQL SQLSTATE 22000 的源码与诊断参考。
---

# 22000

## 速览 {#at-a-glance}

固定 `array_append` 路径要求数组参数为空或一维，否则报告维度错误；其他 Data Exception 路径有各自的消息。

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

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

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

## 含义 {#meaning}

固定 `array_append` 路径要求数组参数为空或一维，否则报告维度错误；其他 Data Exception 路径有各自的消息。

## 报文 {#messages}

已确认的 guard 以 `ERROR` 严重性报告 primary：`argument must be empty or one-dimensional array`。该源码路径没有独立的 DETAIL 或 HINT。本页只有源码证据，没有自然运行观察。

## 诊断 {#diagnosis}

先看完整消息、`array_append` 调用和参数类型。已确认的路径拒绝既非空又非一维的数组参数；其他 Data Exception 路径需按各自消息定位。

## 处置 {#response}

修正数组形状或改用接受目标维度的函数契约，先校验参数再执行。这是 `ERROR`：显式事务中要回滚整个事务，或回滚到调用前建立的保存点后再继续。不要把所有 Data Exception 当成同一种修复；本页没有运行案例。

## 版本 {#versions}

锁定目录从 7.4 记录该条件，并在列出的正式快照及 19beta3 中出现；固定源码覆盖为 PostgreSQL 18.6。

## 相关条件 {#related}

[`22001`](../22001/), [`22003`](../22003/), [`22004`](../22004/)

## 来源 {#sources}

详见结构化的[证据记录](../../data/evidence/22000.json)，其中列出固定源码链接与范围限制。
