跳转到主要内容

22037 — non_unique_keys_in_a_json_object

PostgreSQL SQLSTATE 22037 的来源与诊断参考。

22037

速览

锁定条件名表示 JSON 对象的键不唯一错误。对固定 PostgreSQL 18.6 的定向扫描没有解析出发出路径。

字段
SQLSTATE 22037
条件名 non_unique_keys_in_a_json_object
状态 有效
已知存在于 12.0
锁定快照 12.22, 13.23, 14.24, 15.19, 16.15, 17.11, 18.6, 19beta3
ERRCODE_NON_UNIQUE_KEYS_IN_A_JSON_OBJECT
别名

含义

定义将该条件命名为 non_unique_keys_in_a_json_object,但 PostgreSQL 18.6 的定向源码审阅没有解析出原生 22037 发出方。因此本页只记录条件身份和诊断边界,不指定 SQL/JSON 构造器、解析器、首要报文、DETAIL 或 HINT。

诊断

如果部署报告 22037,应连同完整首要报文、DETAIL、HINT、调用的 SQL/JSON 操作和版本一起保留,再据此判断是哪种对象及重复键策略发出了该条件。不要在没有实际诊断的情况下把它替换成相关的 22030 重复键构造路径。

处理

依据实际发出方的重复键策略处理:按该操作的文档规则规范化或拒绝重复键。如果 ERROR 发生在显式事务中,应先 ROLLBACK 或回滚到既有保存点再重试;自动提交可重试修正后的动作。

版本

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

22030220322203A

来源

固定定义行见 errcodes.txt#L222。定向源码审阅没有解析出原生 22037 发出路径;结构化证据记录明确保留这一未知范围,本页未运行自然案例。