{"Entry":{"collection":"sqlstate","key":"23P01","name":"23P01","aliases":[],"metadata":{"aliases":[],"case_count":1,"class_code":"23","condition_name":"exclusion_violation","condition_names":["exclusion_violation"],"content_hash":"11cfe0a0640133c1d79d5d3d2e984479580faffadceef92d1bdfa7166016e32b","depth":"full","editorial_review":"reviewed","evidence_tier":"observed_runtime","imported_at":"2026-09-30T17:45:27.223162+08:00","introduced":null,"known_present_by":"9.0.0","macros":["ERRCODE_EXCLUSION_VIOLATION"],"name_zh":"排除约束冲突","present_in":["9.0","9.1","9.2","9.3","9.4","9.5","9.6","10","11","12","13","14","15","16","17","18","19"],"preview_in":["19"],"primary_macro":"ERRCODE_EXCLUSION_VIOLATION","removed":null,"runtime_verification":"passed","severity_classes":["E"],"snippet_count":1,"source_rev":"english-manuals:8c95fb3325400efbfd8c98cece0651616cd3c09eb7bcdf360341f55f98d82f92","sqlstate":"23P01","status":"active","summary_zh":"排除约束发现新行与已有行冲突，如范围重叠。"}},"Definition":{"Collection":"sqlstate","Key":"23P01","SourceDatabase":"center","Version":"18","SourceTable":"sqlstate","SourceKey":"23P01","SourceRevision":"english-manuals:8c95fb3325400efbfd8c98cece0651616cd3c09eb7bcdf360341f55f98d82f92","Facts":{"aliases":[],"class_name":"Integrity Constraint Violation","condition_name":"exclusion_violation","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"56dacf78e618ff0fd8c533e05db597b80d7ebbad7f8e512a888217d0640aa328","slug":"18"},"lang":"en","sqlstate":"23P01"},"ManualEvidence":{"doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"56dacf78e618ff0fd8c533e05db597b80d7ebbad7f8e512a888217d0640aa328","slug":"18"}},"MeasuredEvidence":{}},"Text":{"Collection":"sqlstate","Key":"23P01","SourceDatabase":"center","Version":"","Locale":"zh-Hans","Title":"23P01 — 排除约束冲突（exclusion_violation）","Summary":"排除约束发现新行与已有行冲突，如范围重叠。","BodyHTML":"\u003ch1\u003e23P01 — 排除约束冲突\u003c/h1\u003e\n\u003ch2\u003e速览 {#at-a-glance}\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003e23P01\u003c/code\u003e 表示排除约束发现已有行与新行在所有配置运算符上冲突。本案例使用 \u003ccode\u003e\u0026amp;\u0026amp;\u003c/code\u003e 检查范围重叠，因此拒绝的是重叠而不只是相等值。\u003c/p\u003e\n\u003ch2\u003e含义 {#meaning}\u003c/h2\u003e\n\u003cp\u003e排除约束结合索引访问方法和运算符；\u003ccode\u003e[5,12)\u003c/code\u003e 与 \u003ccode\u003e[1,10)\u003c/code\u003e 重叠，而半开范围 \u003ccode\u003e[10,12)\u003c/code\u003e 在 10 处不重叠。运算符类和约束配置的运算符组合决定冲突；DEFERRABLE 会改变检查时点。\u003c/p\u003e\n\u003ch2\u003e诊断 {#diagnosis}\u003c/h2\u003e\n\u003cp\u003e记录约束名、DETAIL 中的键值，以及约束是否延迟。按相同运算符检查现有行，不能只做相等比较。立即约束在语句边界报错，DEFERRABLE 约束可能在 \u003ccode\u003eSET CONSTRAINTS\u003c/code\u003e 或 \u003ccode\u003eCOMMIT\u003c/code\u003e 时才报错。本案例是立即检查、自动提交，错误后连接为 \u003ccode\u003eIDLE\u003c/code\u003e。\u003c/p\u003e\n\u003ch2\u003e处理 {#response}\u003c/h2\u003e\n\u003cp\u003e选择不冲突的值，或按应用并发策略协调冲突的预订或资源。自动提交时，失败语句结束自己的事务边界，连接可以继续使用。显式事务中，无论立即检查还是延迟检查报错，都可能使事务进入失败状态；重试前应执行 \u003ccode\u003eROLLBACK\u003c/code\u003e，若应用刻意用保存点隔离该操作，则可执行 \u003ccode\u003eROLLBACK TO SAVEPOINT\u003c/code\u003e 保留外层事务。DEFERRABLE 冲突可能在 \u003ccode\u003eSET CONSTRAINTS\u003c/code\u003e 或 \u003ccode\u003eCOMMIT\u003c/code\u003e 才报告，因此应从该检查时点要求的干净边界重做完整操作；只有冲突确实可能消失且操作安全时才重试。不要脱离业务规则随意改范围端点。\u003c/p\u003e\n\u003ch2\u003e实测诊断 {#messages}\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003e18.6 (Homebrew) / latest\u003c/code\u003e：SQLSTATE \u003ccode\u003e23P01\u003c/code\u003e；primary \u003ccode\u003econflicting key value violates exclusion constraint \u0026#34;bookings_no_overlap\u0026#34;\u003c/code\u003e；DETAIL \u003ccode\u003eKey (during)=([5,12)) conflicts with existing key (during)=([1,10)).\u003c/code\u003e；status_after_error \u003ccode\u003eIDLE\u003c/code\u003e。\n\u003ccode\u003e10.21 (Debian 10.21-1.pgdg90+1) / pg10\u003c/code\u003e：SQLSTATE \u003ccode\u003e23P01\u003c/code\u003e；primary \u003ccode\u003econflicting key value violates exclusion constraint \u0026#34;bookings_no_overlap\u0026#34;\u003c/code\u003e；DETAIL \u003ccode\u003eKey (during)=([5,12)) conflicts with existing key (during)=([1,10)).\u003c/code\u003e；status_after_error \u003ccode\u003eIDLE\u003c/code\u003e。\u003c/p\u003e\n\u003ch2\u003e代表案例 {#case}\u003c/h2\u003e\n\u003cp\u003e本例第二个预订与已有范围重叠；把下界移到已有范围的上界即可修复。完整 setup、断言与清理见\u003ca href=\"#cases\" rel=\"nofollow\"\u003e案例导出\u003c/a\u003e：\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e-- create\nCREATE TABLE bookings(id integer PRIMARY KEY, during int4range NOT NULL, CONSTRAINT bookings_no_overlap EXCLUDE USING gist (during WITH \u0026amp;\u0026amp;));\n-- seed\nINSERT INTO bookings VALUES (1, int4range(1, 10));\n-- trigger\nINSERT INTO bookings VALUES (2, int4range(5, 12));\n-- repair\nINSERT INTO bookings VALUES (2, int4range(10, 12));\n-- verify\nSELECT id, during::text FROM bookings ORDER BY id;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e本案例对应的 SQLSTATE、诊断、事务状态和修复断言均来自经核对的案例 registry；见\u003ca href=\"#sources\" rel=\"nofollow\"\u003e结构化证据\u003c/a\u003e和\u003ca href=\"#cases\" rel=\"nofollow\"\u003e案例导出\u003c/a\u003e。\u003c/p\u003e\n\u003cp\u003e作者证据 ID：\u003ccode\u003eidentity\u003c/code\u003e, \u003ccode\u003emechanism\u003c/code\u003e, \u003ccode\u003eruntime\u003c/code\u003e。选定运行记录：\u003ccode\u003eruntime.23P01-batch1-latest-20260909.latest\u003c/code\u003e, \u003ccode\u003eruntime.23P01-batch1-pg10-20260909.pg10\u003c/code\u003e。\u003c/p\u003e\n\u003ch2\u003e版本与边界 {#versions}\u003c/h2\u003e\n\u003cp\u003e锁定目录从 9.0.0 起观察到 \u003ccode\u003e23P01\u003c/code\u003e，并在列出的正式快照中均存在。选定的立即范围案例在 18.6 与 10.21 通过；未测试延迟或并发排除检查。\u003c/p\u003e\n\u003ch2\u003e相关 {#related}\u003c/h2\u003e\n\u003cp\u003e对比 \u003ca href=\"/wiki/sqlstate/23505/\" rel=\"nofollow\"\u003e23505 唯一约束冲突\u003c/a\u003e、\u003ca href=\"/wiki/sqlstate/23514/\" rel=\"nofollow\"\u003e23514 CHECK 冲突\u003c/a\u003e 和 \u003ca href=\"/wiki/sqlstate/23001/\" rel=\"nofollow\"\u003e23001 RESTRICT 冲突\u003c/a\u003e。\u003c/p\u003e\n\u003ch2\u003e来源 {#sources}\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/utils/errcodes.txt\" rel=\"nofollow\"\u003e\u003ccode\u003esrc.errcodes.18.6\u003c/code\u003e\u003c/a\u003e (SHA-256 \u003ccode\u003e6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esrc.calls.REL_18_6\u003c/code\u003e (SHA-256 \u003ccode\u003e9ee8a0e81d8f0825c5c1ae45583439859a26e602bdd4ce2f2a62aa278867ccbf\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/executor/execIndexing.c#L917-L937\" rel=\"nofollow\"\u003e\u003ccode\u003esrc.execIndexing.18.6\u003c/code\u003e\u003c/a\u003e (SHA-256 \u003ccode\u003e24c80553ab4b28d7d2a288dd9196c8db9459c7f308853cd8c8c939485e15f199\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/doc/src/sgml/rangetypes.sgml#L540-L573\" rel=\"nofollow\"\u003e\u003ccode\u003edoc.rangetypes.18.6\u003c/code\u003e\u003c/a\u003e (SHA-256 \u003ccode\u003ecfeffb134d2acc2ec45141726583b041410665c4a2f8ecf66cd3f9484a7f0014\u003c/code\u003e) · \u003ca href=\"/docs/18/rangetypes.html#RANGETYPES-CONSTRAINT\" rel=\"nofollow\"\u003e官方文档\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n","SourceRevision":"english-manuals:8c95fb3325400efbfd8c98cece0651616cd3c09eb7bcdf360341f55f98d82f92","ContentHash":"eed75c82d6c4d2bef6879ff7c844c4488dfe8a215f465c729be158140fe01fff","Payload":{"body_md":"# 23P01 — 排除约束冲突\n\n## 速览 {#at-a-glance}\n\n`23P01` 表示排除约束发现已有行与新行在所有配置运算符上冲突。本案例使用 `\u0026\u0026` 检查范围重叠，因此拒绝的是重叠而不只是相等值。\n\n\n## 含义 {#meaning}\n\n排除约束结合索引访问方法和运算符；`[5,12)` 与 `[1,10)` 重叠，而半开范围 `[10,12)` 在 10 处不重叠。运算符类和约束配置的运算符组合决定冲突；DEFERRABLE 会改变检查时点。\n\n## 诊断 {#diagnosis}\n\n记录约束名、DETAIL 中的键值，以及约束是否延迟。按相同运算符检查现有行，不能只做相等比较。立即约束在语句边界报错，DEFERRABLE 约束可能在 `SET CONSTRAINTS` 或 `COMMIT` 时才报错。本案例是立即检查、自动提交，错误后连接为 `IDLE`。\n\n## 处理 {#response}\n\n选择不冲突的值，或按应用并发策略协调冲突的预订或资源。自动提交时，失败语句结束自己的事务边界，连接可以继续使用。显式事务中，无论立即检查还是延迟检查报错，都可能使事务进入失败状态；重试前应执行 `ROLLBACK`，若应用刻意用保存点隔离该操作，则可执行 `ROLLBACK TO SAVEPOINT` 保留外层事务。DEFERRABLE 冲突可能在 `SET CONSTRAINTS` 或 `COMMIT` 才报告，因此应从该检查时点要求的干净边界重做完整操作；只有冲突确实可能消失且操作安全时才重试。不要脱离业务规则随意改范围端点。\n\n## 实测诊断 {#messages}\n\n`18.6 (Homebrew) / latest`：SQLSTATE `23P01`；primary `conflicting key value violates exclusion constraint \"bookings_no_overlap\"`；DETAIL `Key (during)=([5,12)) conflicts with existing key (during)=([1,10)).`；status_after_error `IDLE`。\n`10.21 (Debian 10.21-1.pgdg90+1) / pg10`：SQLSTATE `23P01`；primary `conflicting key value violates exclusion constraint \"bookings_no_overlap\"`；DETAIL `Key (during)=([5,12)) conflicts with existing key (during)=([1,10)).`；status_after_error `IDLE`。\n\n## 代表案例 {#case}\n\n本例第二个预订与已有范围重叠；把下界移到已有范围的上界即可修复。完整 setup、断言与清理见[案例导出](#cases)：\n\n```sql\n-- create\nCREATE TABLE bookings(id integer PRIMARY KEY, during int4range NOT NULL, CONSTRAINT bookings_no_overlap EXCLUDE USING gist (during WITH \u0026\u0026));\n-- seed\nINSERT INTO bookings VALUES (1, int4range(1, 10));\n-- trigger\nINSERT INTO bookings VALUES (2, int4range(5, 12));\n-- repair\nINSERT INTO bookings VALUES (2, int4range(10, 12));\n-- verify\nSELECT id, during::text FROM bookings ORDER BY id;\n```\n\n本案例对应的 SQLSTATE、诊断、事务状态和修复断言均来自经核对的案例 registry；见[结构化证据](#sources)和[案例导出](#cases)。\n\n作者证据 ID：`identity`, `mechanism`, `runtime`。选定运行记录：`runtime.23P01-batch1-latest-20260909.latest`, `runtime.23P01-batch1-pg10-20260909.pg10`。\n\n## 版本与边界 {#versions}\n\n锁定目录从 9.0.0 起观察到 `23P01`，并在列出的正式快照中均存在。选定的立即范围案例在 18.6 与 10.21 通过；未测试延迟或并发排除检查。\n\n## 相关 {#related}\n\n对比 [23505 唯一约束冲突](/wiki/sqlstate/23505/)、[23514 CHECK 冲突](/wiki/sqlstate/23514/) 和 [23001 RESTRICT 冲突](/wiki/sqlstate/23001/)。\n\n## 来源 {#sources}\n\n- [`src.errcodes.18.6`](https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/utils/errcodes.txt) (SHA-256 `6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba`)\n- `src.calls.REL_18_6` (SHA-256 `9ee8a0e81d8f0825c5c1ae45583439859a26e602bdd4ce2f2a62aa278867ccbf`)\n- [`src.execIndexing.18.6`](https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/executor/execIndexing.c#L917-L937) (SHA-256 `24c80553ab4b28d7d2a288dd9196c8db9459c7f308853cd8c8c939485e15f199`)\n- [`doc.rangetypes.18.6`](https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/doc/src/sgml/rangetypes.sgml#L540-L573) (SHA-256 `cfeffb134d2acc2ec45141726583b041410665c4a2f8ecf66cd3f9484a7f0014`) · [官方文档](/docs/18/rangetypes.html#RANGETYPES-CONSTRAINT)\n","description":"PostgreSQL SQLSTATE 23P01：排除约束冲突的来源与诊断参考。","is_stale":false,"name":"排除约束冲突","sections":[{"anchor":"","heading":"","html":"\u0026lt;h1\u0026gt;23P01 — 排除约束冲突\u0026lt;/h1\u0026gt;"},{"anchor":"at-a-glance","heading":"速览","html":"\u003cp\u003e\u003ccode\u003e23P01\u003c/code\u003e 表示排除约束发现已有行与新行在所有配置运算符上冲突。本案例使用 \u003ccode\u003e\u0026amp;\u0026amp;\u003c/code\u003e 检查范围重叠，因此拒绝的是重叠而不只是相等值。\u003c/p\u003e"},{"anchor":"meaning","heading":"含义","html":"\u003cp\u003e排除约束结合索引访问方法和运算符；\u003ccode\u003e[5,12)\u003c/code\u003e 与 \u003ccode\u003e[1,10)\u003c/code\u003e 重叠，而半开范围 \u003ccode\u003e[10,12)\u003c/code\u003e 在 10 处不重叠。运算符类和约束配置的运算符组合决定冲突；DEFERRABLE 会改变检查时点。\u003c/p\u003e"},{"anchor":"diagnosis","heading":"诊断","html":"\u003cp\u003e记录约束名、DETAIL 中的键值，以及约束是否延迟。按相同运算符检查现有行，不能只做相等比较。立即约束在语句边界报错，DEFERRABLE 约束可能在 \u003ccode\u003eSET CONSTRAINTS\u003c/code\u003e 或 \u003ccode\u003eCOMMIT\u003c/code\u003e 时才报错。本案例是立即检查、自动提交，错误后连接为 \u003ccode\u003eIDLE\u003c/code\u003e。\u003c/p\u003e"},{"anchor":"response","heading":"处理","html":"\u003cp\u003e选择不冲突的值，或按应用并发策略协调冲突的预订或资源。自动提交时，失败语句结束自己的事务边界，连接可以继续使用。显式事务中，无论立即检查还是延迟检查报错，都可能使事务进入失败状态；重试前应执行 \u003ccode\u003eROLLBACK\u003c/code\u003e，若应用刻意用保存点隔离该操作，则可执行 \u003ccode\u003eROLLBACK TO SAVEPOINT\u003c/code\u003e 保留外层事务。DEFERRABLE 冲突可能在 \u003ccode\u003eSET CONSTRAINTS\u003c/code\u003e 或 \u003ccode\u003eCOMMIT\u003c/code\u003e 才报告，因此应从该检查时点要求的干净边界重做完整操作；只有冲突确实可能消失且操作安全时才重试。不要脱离业务规则随意改范围端点。\u003c/p\u003e"},{"anchor":"messages","heading":"实测诊断","html":"\u003cp\u003e\u003ccode\u003e18.6 (Homebrew) / latest\u003c/code\u003e：SQLSTATE \u003ccode\u003e23P01\u003c/code\u003e；primary \u003ccode\u003econflicting key value violates exclusion constraint \"bookings_no_overlap\"\u003c/code\u003e；DETAIL \u003ccode\u003eKey (during)=([5,12)) conflicts with existing key (during)=([1,10)).\u003c/code\u003e；status_after_error \u003ccode\u003eIDLE\u003c/code\u003e。\n\u003ccode\u003e10.21 (Debian 10.21-1.pgdg90+1) / pg10\u003c/code\u003e：SQLSTATE \u003ccode\u003e23P01\u003c/code\u003e；primary \u003ccode\u003econflicting key value violates exclusion constraint \"bookings_no_overlap\"\u003c/code\u003e；DETAIL \u003ccode\u003eKey (during)=([5,12)) conflicts with existing key (during)=([1,10)).\u003c/code\u003e；status_after_error \u003ccode\u003eIDLE\u003c/code\u003e。\u003c/p\u003e"},{"anchor":"case","heading":"代表案例","html":"\u003cp\u003e本例第二个预订与已有范围重叠；把下界移到已有范围的上界即可修复。完整 setup、断言与清理见\u003ca href=\"#cases\"\u003e案例导出\u003c/a\u003e：\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-sql\"\u003e-- create\nCREATE TABLE bookings(id integer PRIMARY KEY, during int4range NOT NULL, CONSTRAINT bookings_no_overlap EXCLUDE USING gist (during WITH \u0026amp;\u0026amp;));\n-- seed\nINSERT INTO bookings VALUES (1, int4range(1, 10));\n-- trigger\nINSERT INTO bookings VALUES (2, int4range(5, 12));\n-- repair\nINSERT INTO bookings VALUES (2, int4range(10, 12));\n-- verify\nSELECT id, during::text FROM bookings ORDER BY id;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e本案例对应的 SQLSTATE、诊断、事务状态和修复断言均来自经核对的案例 registry；见\u003ca href=\"#sources\"\u003e结构化证据\u003c/a\u003e和\u003ca href=\"#cases\"\u003e案例导出\u003c/a\u003e。\u003c/p\u003e\n\u003cp\u003e作者证据 ID：\u003ccode\u003eidentity\u003c/code\u003e, \u003ccode\u003emechanism\u003c/code\u003e, \u003ccode\u003eruntime\u003c/code\u003e。选定运行记录：\u003ccode\u003eruntime.23P01-batch1-latest-20260909.latest\u003c/code\u003e, \u003ccode\u003eruntime.23P01-batch1-pg10-20260909.pg10\u003c/code\u003e。\u003c/p\u003e"},{"anchor":"versions","heading":"版本与边界","html":"\u003cp\u003e锁定目录从 9.0.0 起观察到 \u003ccode\u003e23P01\u003c/code\u003e，并在列出的正式快照中均存在。选定的立即范围案例在 18.6 与 10.21 通过；未测试延迟或并发排除检查。\u003c/p\u003e"},{"anchor":"related","heading":"相关","html":"\u003cp\u003e对比 \u003ca href=\"/wiki/sqlstate/23505/\"\u003e23505 唯一约束冲突\u003c/a\u003e、\u003ca href=\"/wiki/sqlstate/23514/\"\u003e23514 CHECK 冲突\u003c/a\u003e 和 \u003ca href=\"/wiki/sqlstate/23001/\"\u003e23001 RESTRICT 冲突\u003c/a\u003e。\u003c/p\u003e"},{"anchor":"sources","heading":"来源","html":"\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/utils/errcodes.txt\"\u003e\u003ccode\u003esrc.errcodes.18.6\u003c/code\u003e\u003c/a\u003e (SHA-256 \u003ccode\u003e6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esrc.calls.REL_18_6\u003c/code\u003e (SHA-256 \u003ccode\u003e9ee8a0e81d8f0825c5c1ae45583439859a26e602bdd4ce2f2a62aa278867ccbf\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/executor/execIndexing.c#L917-L937\"\u003e\u003ccode\u003esrc.execIndexing.18.6\u003c/code\u003e\u003c/a\u003e (SHA-256 \u003ccode\u003e24c80553ab4b28d7d2a288dd9196c8db9459c7f308853cd8c8c939485e15f199\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/doc/src/sgml/rangetypes.sgml#L540-L573\"\u003e\u003ccode\u003edoc.rangetypes.18.6\u003c/code\u003e\u003c/a\u003e (SHA-256 \u003ccode\u003ecfeffb134d2acc2ec45141726583b041410665c4a2f8ecf66cd3f9484a7f0014\u003c/code\u003e) · \u003ca href=\"/docs/18/rangetypes.html#RANGETYPES-CONSTRAINT\"\u003e官方文档\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e"}],"summary":"排除约束发现新行与已有行冲突，如范围重叠。","title":"23P01 — 排除约束冲突（exclusion_violation）","translation_source_rev":"268bc19978cd803ea401f8390e48efb813bd4136f69226ee6397f3a284a9038d"}},"RequestedLocale":"zh-Hans","Fallback":false,"Versions":["10","11","12","13","14","15","16","17","18","19","20","9.0","9.1","9.2","9.3","9.4","9.5","9.6"],"Locales":["en","zh-Hans"],"Signatures":null,"Spellings":null,"SQLState":{"aliases":[],"catalogue_notes":{"earliest_observed":"9.0.0","formal_scope":"9.0.0..18.6","latest_observed":"18.6","matrix_scope":["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"],"pre9_scope":{"formal_tag_count":191,"maximum_release":"8.4.22","minimum_release":"7.0.0","source_definition_count":153,"source_doc_count":153,"source_file_count":306,"source_scope":"7.4..8.4 definition files; 7.0..7.3 candidate-path source gap probes","source_tag_count":153},"pre9_status":"not_observed","preview_scope":["19beta3"]},"class":"23","class_name":"Integrity Constraint Violation","condition_name":"exclusion_violation","condition_names":["exclusion_violation"],"definition_changes":[],"english_manuals":{"10":{"aliases":[],"class_name":"Integrity Constraint Violation","condition_name":"exclusion_violation","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"9607b57e9f639b61785677ba4d226f5889fe1d19c8bf55a3337691899a9073cd","slug":"10"},"lang":"en","sqlstate":"23P01"},"11":{"aliases":[],"class_name":"Integrity Constraint Violation","condition_name":"exclusion_violation","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"3a024e38263ad77de228eed7930b842b42dc1d5cab9ca3727be8eed872ec9539","slug":"11"},"lang":"en","sqlstate":"23P01"},"12":{"aliases":[],"class_name":"Integrity Constraint Violation","condition_name":"exclusion_violation","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"1444bd6a138537cd75be88a220ee9472ac528f0cfc58758e49636d85455efe98","slug":"12"},"lang":"en","sqlstate":"23P01"},"13":{"aliases":[],"class_name":"Integrity Constraint Violation","condition_name":"exclusion_violation","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"4a3ef8af218e5736dfde8660ba609e84233b6b3bac7e0210ff8724cf1b27b2db","slug":"13"},"lang":"en","sqlstate":"23P01"},"14":{"aliases":[],"class_name":"Integrity Constraint Violation","condition_name":"exclusion_violation","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"1c12e83304e0f4ff64c9d98ca5e3007df6756932ed19867a4fa0e0650f6c5751","slug":"14"},"lang":"en","sqlstate":"23P01"},"15":{"aliases":[],"class_name":"Integrity Constraint Violation","condition_name":"exclusion_violation","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"2161f58f6e87f6535b3b1f3d4661427bb6765f4f6b074fcc16fac97594b50599","slug":"15"},"lang":"en","sqlstate":"23P01"},"16":{"aliases":[],"class_name":"Integrity Constraint Violation","condition_name":"exclusion_violation","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"928e705933d7c3d018ae3fba9d800b34e6325746d157339dce878473c519d100","slug":"16"},"lang":"en","sqlstate":"23P01"},"17":{"aliases":[],"class_name":"Integrity Constraint Violation","condition_name":"exclusion_violation","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"868135520af87351e3ea1ba42656111cbd2d157d98e1fef05ea158ac5729d8b1","slug":"17"},"lang":"en","sqlstate":"23P01"},"18":{"aliases":[],"class_name":"Integrity Constraint Violation","condition_name":"exclusion_violation","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"56dacf78e618ff0fd8c533e05db597b80d7ebbad7f8e512a888217d0640aa328","slug":"18"},"lang":"en","sqlstate":"23P01"},"19":{"aliases":[],"class_name":"Integrity Constraint Violation","condition_name":"exclusion_violation","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"63fb8d1aa9f494eeab9d0f8542a2b673f7746ee41ae2689d19403cb3cc425a5c","slug":"19"},"lang":"en","sqlstate":"23P01"},"20":{"aliases":[],"class_name":"Integrity Constraint Violation","condition_name":"exclusion_violation","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"0d3f602127cd137cf343b32d5fa78f175eeb6cdcb6353b1f6f998ede6cb7b911","slug":"devel"},"lang":"en","sqlstate":"23P01"},"9.0":{"aliases":[],"class_name":"Integrity Constraint Violation","condition_name":"exclusion_violation","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"658fc09c4c10eed7ac7dea4ed3e3eff8cc5791eb5af26b7b4a31b0f863b316db","slug":"9.0"},"lang":"en","sqlstate":"23P01"},"9.1":{"aliases":[],"class_name":"Integrity Constraint Violation","condition_name":"exclusion_violation","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"2d118b06c3b644c28b3ddefe9e4bef99a180321582209332372a5318f5bf8d1c","slug":"9.1"},"lang":"en","sqlstate":"23P01"},"9.2":{"aliases":[],"class_name":"Integrity Constraint Violation","condition_name":"exclusion_violation","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"2a37575b39c858d37c58fc4de6a16109554fd3306602294180d78faa1170d2cd","slug":"9.2"},"lang":"en","sqlstate":"23P01"},"9.3":{"aliases":[],"class_name":"Integrity Constraint Violation","condition_name":"exclusion_violation","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"2214b6869d764f7fba7221aefcdf1ab049b55ad51d63aa52054f3cd2c2533ae9","slug":"9.3"},"lang":"en","sqlstate":"23P01"},"9.4":{"aliases":[],"class_name":"Integrity Constraint Violation","condition_name":"exclusion_violation","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"7243e2d653befe88733222ede67958f0c4b7fae967b58eb97807aeb3f32b4096","slug":"9.4"},"lang":"en","sqlstate":"23P01"},"9.5":{"aliases":[],"class_name":"Integrity Constraint Violation","condition_name":"exclusion_violation","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"d40bc67cb331f1e4ccc0821ff57832c6c230edb0dce3ba4249defd21ae7ea29d","slug":"9.5"},"lang":"en","sqlstate":"23P01"},"9.6":{"aliases":[],"class_name":"Integrity Constraint Violation","condition_name":"exclusion_violation","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"2ab55e487571c8998ec39b3d1bbae29ac6fc5c310875bee422d9a7b8b3fde5b3","slug":"9.6"},"lang":"en","sqlstate":"23P01"}},"history_boundary":{"earliest_observed":"9.0.0","formal_tag_count":351,"gaps":[{"after":"18.6","before":"18.4","reason":"Non-adjacent release tags or a source gap; no removal is inferred."}],"latest_observed":"18.6","pre_range":{"first_observed":null,"known_lower_bound":null,"last_observed":null,"notes":"No occurrence was observed in the locked 7.4..8.4 definition files. Source gaps for 7.0..7.3 prevent a claim that the code was absent before 7.4.","scanned_formal_release_count":153,"scanned_source_scope":"7.4..8.4 definition files; 7.0..7.3 candidate-path source gap probes","source_gap_majors":["7.0","7.1","7.2","7.3"],"status":"partially_scanned"},"preview_snapshots":["19beta3"],"scanned_from":"9.0.0","scanned_to":"18.6"},"introduced":null,"known_present_by":"9.0.0","macros":["ERRCODE_EXCLUSION_VIOLATION"],"manual_presence":["9.0","9.1","9.2","9.3","9.4","9.5","9.6","10","11","12","13","14","15","16","17","18","19","20"],"pre9_first_observed":null,"pre9_introduction_boundary":null,"pre9_last_observed":null,"pre9_presence_intervals":[],"pre9_status":"not_observed","presence_intervals":[{"end":"9.0.23","end_major":"9.0","end_tag":"REL9_0_23","evidence_count":24,"position":0,"start":"9.0.0","start_major":"9.0","start_tag":"REL9_0_0"},{"end":"9.1.24","end_major":"9.1","end_tag":"REL9_1_24","evidence_count":25,"position":1,"start":"9.1.0","start_major":"9.1","start_tag":"REL9_1_0"},{"end":"9.2.24","end_major":"9.2","end_tag":"REL9_2_24","evidence_count":25,"position":2,"start":"9.2.0","start_major":"9.2","start_tag":"REL9_2_0"},{"end":"9.3.25","end_major":"9.3","end_tag":"REL9_3_25","evidence_count":26,"position":3,"start":"9.3.0","start_major":"9.3","start_tag":"REL9_3_0"},{"end":"9.4.26","end_major":"9.4","end_tag":"REL9_4_26","evidence_count":27,"position":4,"start":"9.4.0","start_major":"9.4","start_tag":"REL9_4_0"},{"end":"9.5.25","end_major":"9.5","end_tag":"REL9_5_25","evidence_count":26,"position":5,"start":"9.5.0","start_major":"9.5","start_tag":"REL9_5_0"},{"end":"9.6.24","end_major":"9.6","end_tag":"REL9_6_24","evidence_count":25,"position":6,"start":"9.6.0","start_major":"9.6","start_tag":"REL9_6_0"},{"end":"10.23","end_major":"10","end_tag":"REL_10_23","evidence_count":24,"position":7,"start":"10.0","start_major":"10","start_tag":"REL_10_0"},{"end":"11.22","end_major":"11","end_tag":"REL_11_22","evidence_count":23,"position":8,"start":"11.0","start_major":"11","start_tag":"REL_11_0"},{"end":"12.22","end_major":"12","end_tag":"REL_12_22","evidence_count":23,"position":9,"start":"12.0","start_major":"12","start_tag":"REL_12_0"},{"end":"13.23","end_major":"13","end_tag":"REL_13_23","evidence_count":24,"position":10,"start":"13.0","start_major":"13","start_tag":"REL_13_0"},{"end":"14.24","end_major":"14","end_tag":"REL_14_24","evidence_count":25,"position":11,"start":"14.0","start_major":"14","start_tag":"REL_14_0"},{"end":"15.19","end_major":"15","end_tag":"REL_15_19","evidence_count":20,"position":12,"start":"15.0","start_major":"15","start_tag":"REL_15_0"},{"end":"16.15","end_major":"16","end_tag":"REL_16_15","evidence_count":16,"position":13,"start":"16.0","start_major":"16","start_tag":"REL_16_0"},{"end":"17.11","end_major":"17","end_tag":"REL_17_11","evidence_count":12,"position":14,"start":"17.0","start_major":"17","start_tag":"REL_17_0"},{"end":"18.4","end_major":"18","end_tag":"REL_18_4","evidence_count":5,"position":15,"start":"18.0","start_major":"18","start_tag":"REL_18_0"},{"end":"18.6","end_major":"18","end_tag":"REL_18_6","evidence_count":1,"position":16,"start":"18.6","start_major":"18","start_tag":"REL_18_6"}],"present_in_snapshots":["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"],"preview_in_snapshots":["19beta3"],"primary_macro":"ERRCODE_EXCLUSION_VIOLATION","removed":null,"schema_version":2,"severity_classes":["E"],"sources":[{"blob_id":"sha256:c814fbe5a5d2a61abe5bcf5c7754a9d339664aa4ee73f46fa11ed14966ff6713","channel":"formal","code_count":198,"commit":"861861edcc04a6e3ebdfe363311f122e2b226196","id":"postgresql:REL9_0_0:src/include/utils/errcodes.h","major":"9.0","parsed_path":"raw/definitions/REL9_0_0.parsed.json","path":"src/include/utils/errcodes.h","raw_path":"raw/definitions/REL9_0_0.h","raw_url":"https://raw.githubusercontent.com/postgres/postgres/861861edcc04a6e3ebdfe363311f122e2b226196/src/include/utils/errcodes.h","record_count":204,"release":"9.0.0","release_date":null,"repository":"https://github.com/postgres/postgres.git","sha256":"c814fbe5a5d2a61abe5bcf5c7754a9d339664aa4ee73f46fa11ed14966ff6713","size":21313,"source_format":"errcodes.h","source_role":"primary_definition","tag":"REL9_0_0","url":"https://github.com/postgres/postgres/blob/861861edcc04a6e3ebdfe363311f122e2b226196/src/include/utils/errcodes.h","version":"9.0.0"},{"blob_id":"sha256:e23d5129578249fc242f2737be2a577d6714b57917aad9deaf5ec156cadc52fd","channel":"formal","code_count":199,"commit":"ffb39e1aedcdd7b77ec920221b27ab02c40ddbfc","id":"postgresql:REL9_0_4:src/include/utils/errcodes.h","major":"9.0","parsed_path":"raw/definitions/REL9_0_4.parsed.json","path":"src/include/utils/errcodes.h","raw_path":"raw/definitions/REL9_0_4.h","raw_url":"https://raw.githubusercontent.com/postgres/postgres/ffb39e1aedcdd7b77ec920221b27ab02c40ddbfc/src/include/utils/errcodes.h","record_count":205,"release":"9.0.4","release_date":null,"repository":"https://github.com/postgres/postgres.git","sha256":"e23d5129578249fc242f2737be2a577d6714b57917aad9deaf5ec156cadc52fd","size":21384,"source_format":"errcodes.h","source_role":"primary_definition","tag":"REL9_0_4","url":"https://github.com/postgres/postgres/blob/ffb39e1aedcdd7b77ec920221b27ab02c40ddbfc/src/include/utils/errcodes.h","version":"9.0.4"},{"blob_id":"sha256:5b77881aab6f0d659fb3295e1adf53799a02c3d5680200bb10ff9f15d741f924","channel":"formal","code_count":199,"commit":"391aa8aac11fe78f3b2f5743b56e78b0ad6a5d84","id":"postgresql:REL9_0_18:src/include/utils/errcodes.h","major":"9.0","parsed_path":"raw/definitions/REL9_0_18.parsed.json","path":"src/include/utils/errcodes.h","raw_path":"raw/definitions/REL9_0_18.h","raw_url":"https://raw.githubusercontent.com/postgres/postgres/391aa8aac11fe78f3b2f5743b56e78b0ad6a5d84/src/include/utils/errcodes.h","record_count":205,"release":"9.0.18","release_date":null,"repository":"https://github.com/postgres/postgres.git","sha256":"5b77881aab6f0d659fb3295e1adf53799a02c3d5680200bb10ff9f15d741f924","size":21385,"source_format":"errcodes.h","source_role":"primary_definition","tag":"REL9_0_18","url":"https://github.com/postgres/postgres/blob/391aa8aac11fe78f3b2f5743b56e78b0ad6a5d84/src/include/utils/errcodes.h","version":"9.0.18"},{"blob_id":"sha256:2b1d71c453a82488c4e95df84a9ee18dc8fdcb2532a7c56f44f1e8c4265a8132","channel":"formal","code_count":228,"commit":"1f43001424a9da624a89b213d0be606a8212a50a","id":"postgresql:REL9_1_0:src/backend/utils/errcodes.txt","major":"9.1","parsed_path":"raw/definitions/REL9_1_0.parsed.json","path":"src/backend/utils/errcodes.txt","raw_path":"raw/definitions/REL9_1_0.txt","raw_url":"https://raw.githubusercontent.com/postgres/postgres/1f43001424a9da624a89b213d0be606a8212a50a/src/backend/utils/errcodes.txt","record_count":234,"release":"9.1.0","release_date":null,"repository":"https://github.com/postgres/postgres.git","sha256":"2b1d71c453a82488c4e95df84a9ee18dc8fdcb2532a7c56f44f1e8c4265a8132","size":29355,"source_format":"errcodes.txt","source_role":"primary_definition","tag":"REL9_1_0","url":"https://github.com/postgres/postgres/blob/1f43001424a9da624a89b213d0be606a8212a50a/src/backend/utils/errcodes.txt","version":"9.1.0"},{"blob_id":"sha256:271a522fcd18ec45ebe4c1235af0e27a0e9bf0376fda4073b9f4a9c0a00fc711","channel":"formal","code_count":232,"commit":"ef47adb414e46099155c34529a2a5caeea02fc41","id":"postgresql:REL9_2_0:src/backend/utils/errcodes.txt","major":"9.2","parsed_path":"raw/definitions/REL9_2_0.parsed.json","path":"src/backend/utils/errcodes.txt","raw_path":"raw/definitions/REL9_2_0.txt","raw_url":"https://raw.githubusercontent.com/postgres/postgres/ef47adb414e46099155c34529a2a5caeea02fc41/src/backend/utils/errcodes.txt","record_count":238,"release":"9.2.0","release_date":null,"repository":"https://github.com/postgres/postgres.git","sha256":"271a522fcd18ec45ebe4c1235af0e27a0e9bf0376fda4073b9f4a9c0a00fc711","size":30387,"source_format":"errcodes.txt","source_role":"primary_definition","tag":"REL9_2_0","url":"https://github.com/postgres/postgres/blob/ef47adb414e46099155c34529a2a5caeea02fc41/src/backend/utils/errcodes.txt","version":"9.2.0"},{"blob_id":"sha256:f90d801e724191c84e94ae33483e71b4e3c4de5730474d316df4c722a149897d","channel":"formal","code_count":232,"commit":"da645b3a73580ac30cf02e932b42d06157b98229","id":"postgresql:REL9_3_0:src/backend/utils/errcodes.txt","major":"9.3","parsed_path":"raw/definitions/REL9_3_0.parsed.json","path":"src/backend/utils/errcodes.txt","raw_path":"raw/definitions/REL9_3_0.txt","raw_url":"https://raw.githubusercontent.com/postgres/postgres/da645b3a73580ac30cf02e932b42d06157b98229/src/backend/utils/errcodes.txt","record_count":238,"release":"9.3.0","release_date":null,"repository":"https://github.com/postgres/postgres.git","sha256":"f90d801e724191c84e94ae33483e71b4e3c4de5730474d316df4c722a149897d","size":30387,"source_format":"errcodes.txt","source_role":"primary_definition","tag":"REL9_3_0","url":"https://github.com/postgres/postgres/blob/da645b3a73580ac30cf02e932b42d06157b98229/src/backend/utils/errcodes.txt","version":"9.3.0"},{"blob_id":"sha256:1695ec274fb29f0b0875ff674405e775334243835a6f6008e007dfe3a8260bf5","channel":"formal","code_count":232,"commit":"8ca336f4ac3f08a5f23e76c6e9a5f2c8064f5883","id":"postgresql:REL9_4_0:src/backend/utils/errcodes.txt","major":"9.4","parsed_path":"raw/definitions/REL9_4_0.parsed.json","path":"src/backend/utils/errcodes.txt","raw_path":"raw/definitions/REL9_4_0.txt","raw_url":"https://raw.githubusercontent.com/postgres/postgres/8ca336f4ac3f08a5f23e76c6e9a5f2c8064f5883/src/backend/utils/errcodes.txt","record_count":238,"release":"9.4.0","release_date":null,"repository":"https://github.com/postgres/postgres.git","sha256":"1695ec274fb29f0b0875ff674405e775334243835a6f6008e007dfe3a8260bf5","size":30387,"source_format":"errcodes.txt","source_role":"primary_definition","tag":"REL9_4_0","url":"https://github.com/postgres/postgres/blob/8ca336f4ac3f08a5f23e76c6e9a5f2c8064f5883/src/backend/utils/errcodes.txt","version":"9.4.0"},{"blob_id":"sha256:37f728a7e034ef0b05b060a4b82c7dd95c900e4a5501c80bfefd8d679889253b","channel":"formal","code_count":236,"commit":"cdd4ed5449bf317cc71b45a8deee0173822e7592","id":"postgresql:REL9_5_0:src/backend/utils/errcodes.txt","major":"9.5","parsed_path":"raw/definitions/REL9_5_0.parsed.json","path":"src/backend/utils/errcodes.txt","raw_path":"raw/definitions/REL9_5_0.txt","raw_url":"https://raw.githubusercontent.com/postgres/postgres/cdd4ed5449bf317cc71b45a8deee0173822e7592/src/backend/utils/errcodes.txt","record_count":242,"release":"9.5.0","release_date":null,"repository":"https://github.com/postgres/postgres.git","sha256":"37f728a7e034ef0b05b060a4b82c7dd95c900e4a5501c80bfefd8d679889253b","size":30798,"source_format":"errcodes.txt","source_role":"primary_definition","tag":"REL9_5_0","url":"https://github.com/postgres/postgres/blob/cdd4ed5449bf317cc71b45a8deee0173822e7592/src/backend/utils/errcodes.txt","version":"9.5.0"},{"blob_id":"sha256:bf4d94d84c7cfe695cb80e8f009872444574719a80a72e347eb66ef3686b86ef","channel":"formal","code_count":238,"commit":"a721a1ba9cf6c86cb52f1bf325d5a27b64e870d6","id":"postgresql:REL9_6_0:src/backend/utils/errcodes.txt","major":"9.6","parsed_path":"raw/definitions/REL9_6_0.parsed.json","path":"src/backend/utils/errcodes.txt","raw_path":"raw/definitions/REL9_6_0.txt","raw_url":"https://raw.githubusercontent.com/postgres/postgres/a721a1ba9cf6c86cb52f1bf325d5a27b64e870d6/src/backend/utils/errcodes.txt","record_count":244,"release":"9.6.0","release_date":null,"repository":"https://github.com/postgres/postgres.git","sha256":"bf4d94d84c7cfe695cb80e8f009872444574719a80a72e347eb66ef3686b86ef","size":31135,"source_format":"errcodes.txt","source_role":"primary_definition","tag":"REL9_6_0","url":"https://github.com/postgres/postgres/blob/a721a1ba9cf6c86cb52f1bf325d5a27b64e870d6/src/backend/utils/errcodes.txt","version":"9.6.0"},{"blob_id":"sha256:e5d829b24fe63aa69429fa1deb9675051fc8ffd4a8a4651861907a8f12ccb144","channel":"formal","code_count":240,"commit":"5df0e99bea1c3e5fbffa7fbd0982da88ea149bb6","id":"postgresql:REL_10_0:src/backend/utils/errcodes.txt","major":"10","parsed_path":"raw/definitions/REL_10_0.parsed.json","path":"src/backend/utils/errcodes.txt","raw_path":"raw/definitions/REL_10_0.txt","raw_url":"https://raw.githubusercontent.com/postgres/postgres/5df0e99bea1c3e5fbffa7fbd0982da88ea149bb6/src/backend/utils/errcodes.txt","record_count":246,"release":"10.0","release_date":null,"repository":"https://github.com/postgres/postgres.git","sha256":"e5d829b24fe63aa69429fa1deb9675051fc8ffd4a8a4651861907a8f12ccb144","size":31340,"source_format":"errcodes.txt","source_role":"primary_definition","tag":"REL_10_0","url":"https://github.com/postgres/postgres/blob/5df0e99bea1c3e5fbffa7fbd0982da88ea149bb6/src/backend/utils/errcodes.txt","version":"10.0"},{"blob_id":"sha256:8518be6de92ae135765e295c631c5f525120ca2b132453404b620f9aa595cab4","channel":"formal","code_count":241,"commit":"19f20081df059fef87e14c8e953669bd173dd7f1","id":"postgresql:REL_11_0:src/backend/utils/errcodes.txt","major":"11","parsed_path":"raw/definitions/REL_11_0.parsed.json","path":"src/backend/utils/errcodes.txt","raw_path":"raw/definitions/REL_11_0.txt","raw_url":"https://raw.githubusercontent.com/postgres/postgres/19f20081df059fef87e14c8e953669bd173dd7f1/src/backend/utils/errcodes.txt","record_count":247,"release":"11.0","release_date":null,"repository":"https://github.com/postgres/postgres.git","sha256":"8518be6de92ae135765e295c631c5f525120ca2b132453404b620f9aa595cab4","size":31453,"source_format":"errcodes.txt","source_role":"primary_definition","tag":"REL_11_0","url":"https://github.com/postgres/postgres/blob/19f20081df059fef87e14c8e953669bd173dd7f1/src/backend/utils/errcodes.txt","version":"11.0"},{"blob_id":"sha256:943259f3e36af1343dd0f090f7c7cec0e8c762b038d68c178aaa9b1b11999bfb","channel":"formal","code_count":257,"commit":"ad1f2885b8c82e0c2d56d7974f012cbecce17a17","id":"postgresql:REL_12_0:src/backend/utils/errcodes.txt","major":"12","parsed_path":"raw/definitions/REL_12_0.parsed.json","path":"src/backend/utils/errcodes.txt","raw_path":"raw/definitions/REL_12_0.txt","raw_url":"https://raw.githubusercontent.com/postgres/postgres/ad1f2885b8c82e0c2d56d7974f012cbecce17a17/src/backend/utils/errcodes.txt","record_count":263,"release":"12.0","release_date":null,"repository":"https://github.com/postgres/postgres.git","sha256":"943259f3e36af1343dd0f090f7c7cec0e8c762b038d68c178aaa9b1b11999bfb","size":33114,"source_format":"errcodes.txt","source_role":"primary_definition","tag":"REL_12_0","url":"https://github.com/postgres/postgres/blob/ad1f2885b8c82e0c2d56d7974f012cbecce17a17/src/backend/utils/errcodes.txt","version":"12.0"},{"blob_id":"sha256:9a464a3c3c99d2488782d4cdd0d46ce261085a944cb0c21e2d884586fbc8204d","channel":"formal","code_count":258,"commit":"29be9983a64c011eac0b9ee29895cce71e15ea77","id":"postgresql:REL_13_0:src/backend/utils/errcodes.txt","major":"13","parsed_path":"raw/definitions/REL_13_0.parsed.json","path":"src/backend/utils/errcodes.txt","raw_path":"raw/definitions/REL_13_0.txt","raw_url":"https://raw.githubusercontent.com/postgres/postgres/29be9983a64c011eac0b9ee29895cce71e15ea77/src/backend/utils/errcodes.txt","record_count":264,"release":"13.0","release_date":null,"repository":"https://github.com/postgres/postgres.git","sha256":"9a464a3c3c99d2488782d4cdd0d46ce261085a944cb0c21e2d884586fbc8204d","size":33239,"source_format":"errcodes.txt","source_role":"primary_definition","tag":"REL_13_0","url":"https://github.com/postgres/postgres/blob/29be9983a64c011eac0b9ee29895cce71e15ea77/src/backend/utils/errcodes.txt","version":"13.0"},{"blob_id":"sha256:c3c967fa20577f7ded946cb99e1a4706b85bb2476fd32d7e4a133c971a603552","channel":"formal","code_count":259,"commit":"86a4dc1e6f29d1992a2afa3fac1a0b0a6e84568c","id":"postgresql:REL_14_0:src/backend/utils/errcodes.txt","major":"14","parsed_path":"raw/definitions/REL_14_0.parsed.json","path":"src/backend/utils/errcodes.txt","raw_path":"raw/definitions/REL_14_0.txt","raw_url":"https://raw.githubusercontent.com/postgres/postgres/86a4dc1e6f29d1992a2afa3fac1a0b0a6e84568c/src/backend/utils/errcodes.txt","record_count":265,"release":"14.0","release_date":null,"repository":"https://github.com/postgres/postgres.git","sha256":"c3c967fa20577f7ded946cb99e1a4706b85bb2476fd32d7e4a133c971a603552","size":33337,"source_format":"errcodes.txt","source_role":"primary_definition","tag":"REL_14_0","url":"https://github.com/postgres/postgres/blob/86a4dc1e6f29d1992a2afa3fac1a0b0a6e84568c/src/backend/utils/errcodes.txt","version":"14.0"},{"blob_id":"sha256:a34b5fccd8a27c92817314dd942b79e76896cd1d9a8d4be21c81b02227850b4a","channel":"formal","code_count":260,"commit":"2a7ce2e2ce474504a707ec03e128fde66cfb8b48","id":"postgresql:REL_15_0:src/backend/utils/errcodes.txt","major":"15","parsed_path":"raw/definitions/REL_15_0.parsed.json","path":"src/backend/utils/errcodes.txt","raw_path":"raw/definitions/REL_15_0.txt","raw_url":"https://raw.githubusercontent.com/postgres/postgres/2a7ce2e2ce474504a707ec03e128fde66cfb8b48/src/backend/utils/errcodes.txt","record_count":266,"release":"15.0","release_date":null,"repository":"https://github.com/postgres/postgres.git","sha256":"a34b5fccd8a27c92817314dd942b79e76896cd1d9a8d4be21c81b02227850b4a","size":33458,"source_format":"errcodes.txt","source_role":"primary_definition","tag":"REL_15_0","url":"https://github.com/postgres/postgres/blob/2a7ce2e2ce474504a707ec03e128fde66cfb8b48/src/backend/utils/errcodes.txt","version":"15.0"},{"blob_id":"sha256:1d1d741b7b7c6dfd8275287e31c79befed75f3b9349e1a42ef0ca147c429ff88","channel":"formal","code_count":260,"commit":"c372fbbd8e911f2412b80a8c39d7079366565d67","id":"postgresql:REL_16_0:src/backend/utils/errcodes.txt","major":"16","parsed_path":"raw/definitions/REL_16_0.parsed.json","path":"src/backend/utils/errcodes.txt","raw_path":"raw/definitions/REL_16_0.txt","raw_url":"https://raw.githubusercontent.com/postgres/postgres/c372fbbd8e911f2412b80a8c39d7079366565d67/src/backend/utils/errcodes.txt","record_count":266,"release":"16.0","release_date":null,"repository":"https://github.com/postgres/postgres.git","sha256":"1d1d741b7b7c6dfd8275287e31c79befed75f3b9349e1a42ef0ca147c429ff88","size":33458,"source_format":"errcodes.txt","source_role":"primary_definition","tag":"REL_16_0","url":"https://github.com/postgres/postgres/blob/c372fbbd8e911f2412b80a8c39d7079366565d67/src/backend/utils/errcodes.txt","version":"16.0"},{"blob_id":"sha256:bb53279934510355eb4135a807c90d989f07650bd90f87026a4441f11d3296b1","channel":"formal","code_count":260,"commit":"d7ec59a63d745ba74fba0e280bbf85dc6d1caa3e","id":"postgresql:REL_17_0:src/backend/utils/errcodes.txt","major":"17","parsed_path":"raw/definitions/REL_17_0.parsed.json","path":"src/backend/utils/errcodes.txt","raw_path":"raw/definitions/REL_17_0.txt","raw_url":"https://raw.githubusercontent.com/postgres/postgres/d7ec59a63d745ba74fba0e280bbf85dc6d1caa3e/src/backend/utils/errcodes.txt","record_count":266,"release":"17.0","release_date":null,"repository":"https://github.com/postgres/postgres.git","sha256":"bb53279934510355eb4135a807c90d989f07650bd90f87026a4441f11d3296b1","size":33392,"source_format":"errcodes.txt","source_role":"primary_definition","tag":"REL_17_0","url":"https://github.com/postgres/postgres/blob/d7ec59a63d745ba74fba0e280bbf85dc6d1caa3e/src/backend/utils/errcodes.txt","version":"17.0"},{"blob_id":"sha256:6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba","channel":"formal","code_count":262,"commit":"3d6a828938a5fa0444275d3d2f67b64ec3199eb7","id":"postgresql:REL_18_0:src/backend/utils/errcodes.txt","major":"18","parsed_path":"raw/definitions/REL_18_0.parsed.json","path":"src/backend/utils/errcodes.txt","raw_path":"raw/definitions/REL_18_0.txt","raw_url":"https://raw.githubusercontent.com/postgres/postgres/3d6a828938a5fa0444275d3d2f67b64ec3199eb7/src/backend/utils/errcodes.txt","record_count":268,"release":"18.0","release_date":null,"repository":"https://github.com/postgres/postgres.git","sha256":"6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba","size":33739,"source_format":"errcodes.txt","source_role":"primary_definition","tag":"REL_18_0","url":"https://github.com/postgres/postgres/blob/3d6a828938a5fa0444275d3d2f67b64ec3199eb7/src/backend/utils/errcodes.txt","version":"18.0"},{"blob_id":"sha256:cadb9e83cde9a8699a7e74448891ca623af8579ccc8e11c7e533fb47cbc42f89","channel":"preview","code_count":262,"commit":"3638289fb57bdabec00deda98ee9624a35f5d66a","id":"postgresql:REL_19_BETA3:src/backend/utils/errcodes.txt","major":"19","parsed_path":"raw/definitions/REL_19_BETA3.parsed.json","path":"src/backend/utils/errcodes.txt","raw_path":"raw/definitions/REL_19_BETA3.txt","raw_url":"https://raw.githubusercontent.com/postgres/postgres/3638289fb57bdabec00deda98ee9624a35f5d66a/src/backend/utils/errcodes.txt","record_count":268,"release":"19beta3","release_date":"2026-08-13","repository":"https://github.com/postgres/postgres.git","sha256":"cadb9e83cde9a8699a7e74448891ca623af8579ccc8e11c7e533fb47cbc42f89","size":33739,"source_format":"errcodes.txt","source_role":"primary_definition","tag":"REL_19_BETA3","url":"https://github.com/postgres/postgres/blob/3638289fb57bdabec00deda98ee9624a35f5d66a/src/backend/utils/errcodes.txt","version":"19beta3"}],"sqlstate":"23P01","status":"active","usage_evidence":[{"evidence_ids":["postgresql:REL9_0_0:src/include/utils/errcodes.h","postgresql:REL9_0_10:src/include/utils/errcodes.h","postgresql:REL9_0_11:src/include/utils/errcodes.h","postgresql:REL9_0_12:src/include/utils/errcodes.h","postgresql:REL9_0_13:src/include/utils/errcodes.h","postgresql:REL9_0_14:src/include/utils/errcodes.h","postgresql:REL9_0_15:src/include/utils/errcodes.h","postgresql:REL9_0_16:src/include/utils/errcodes.h","postgresql:REL9_0_17:src/include/utils/errcodes.h","postgresql:REL9_0_18:src/include/utils/errcodes.h","postgresql:REL9_0_19:src/include/utils/errcodes.h","postgresql:REL9_0_1:src/include/utils/errcodes.h","postgresql:REL9_0_20:src/include/utils/errcodes.h","postgresql:REL9_0_21:src/include/utils/errcodes.h","postgresql:REL9_0_22:src/include/utils/errcodes.h","postgresql:REL9_0_23:src/include/utils/errcodes.h","postgresql:REL9_0_2:src/include/utils/errcodes.h","postgresql:REL9_0_3:src/include/utils/errcodes.h","postgresql:REL9_0_4:src/include/utils/errcodes.h","postgresql:REL9_0_5:src/include/utils/errcodes.h","postgresql:REL9_0_6:src/include/utils/errcodes.h","postgresql:REL9_0_7:src/include/utils/errcodes.h","postgresql:REL9_0_8:src/include/utils/errcodes.h","postgresql:REL9_0_9:src/include/utils/errcodes.h","postgresql:REL9_1_0:src/backend/utils/errcodes.txt","postgresql:REL9_1_10:src/backend/utils/errcodes.txt","postgresql:REL9_1_11:src/backend/utils/errcodes.txt","postgresql:REL9_1_12:src/backend/utils/errcodes.txt","postgresql:REL9_1_13:src/backend/utils/errcodes.txt","postgresql:REL9_1_14:src/backend/utils/errcodes.txt","postgresql:REL9_1_15:src/backend/utils/errcodes.txt","postgresql:REL9_1_16:src/backend/utils/errcodes.txt","postgresql:REL9_1_17:src/backend/utils/errcodes.txt","postgresql:REL9_1_18:src/backend/utils/errcodes.txt","postgresql:REL9_1_19:src/backend/utils/errcodes.txt","postgresql:REL9_1_1:src/backend/utils/errcodes.txt","postgresql:REL9_1_20:src/backend/utils/errcodes.txt","postgresql:REL9_1_21:src/backend/utils/errcodes.txt","postgresql:REL9_1_22:src/backend/utils/errcodes.txt","postgresql:REL9_1_23:src/backend/utils/errcodes.txt","postgresql:REL9_1_24:src/backend/utils/errcodes.txt","postgresql:REL9_1_2:src/backend/utils/errcodes.txt","postgresql:REL9_1_3:src/backend/utils/errcodes.txt","postgresql:REL9_1_4:src/backend/utils/errcodes.txt","postgresql:REL9_1_5:src/backend/utils/errcodes.txt","postgresql:REL9_1_6:src/backend/utils/errcodes.txt","postgresql:REL9_1_7:src/backend/utils/errcodes.txt","postgresql:REL9_1_8:src/backend/utils/errcodes.txt","postgresql:REL9_1_9:src/backend/utils/errcodes.txt","postgresql:REL9_2_0:src/backend/utils/errcodes.txt","postgresql:REL9_2_10:src/backend/utils/errcodes.txt","postgresql:REL9_2_11:src/backend/utils/errcodes.txt","postgresql:REL9_2_12:src/backend/utils/errcodes.txt","postgresql:REL9_2_13:src/backend/utils/errcodes.txt","postgresql:REL9_2_14:src/backend/utils/errcodes.txt","postgresql:REL9_2_15:src/backend/utils/errcodes.txt","postgresql:REL9_2_16:src/backend/utils/errcodes.txt","postgresql:REL9_2_17:src/backend/utils/errcodes.txt","postgresql:REL9_2_18:src/backend/utils/errcodes.txt","postgresql:REL9_2_19:src/backend/utils/errcodes.txt","postgresql:REL9_2_1:src/backend/utils/errcodes.txt","postgresql:REL9_2_20:src/backend/utils/errcodes.txt","postgresql:REL9_2_21:src/backend/utils/errcodes.txt","postgresql:REL9_2_22:src/backend/utils/errcodes.txt","postgresql:REL9_2_23:src/backend/utils/errcodes.txt","postgresql:REL9_2_24:src/backend/utils/errcodes.txt","postgresql:REL9_2_2:src/backend/utils/errcodes.txt","postgresql:REL9_2_3:src/backend/utils/errcodes.txt","postgresql:REL9_2_4:src/backend/utils/errcodes.txt","postgresql:REL9_2_5:src/backend/utils/errcodes.txt","postgresql:REL9_2_6:src/backend/utils/errcodes.txt","postgresql:REL9_2_7:src/backend/utils/errcodes.txt","postgresql:REL9_2_8:src/backend/utils/errcodes.txt","postgresql:REL9_2_9:src/backend/utils/errcodes.txt","postgresql:REL9_3_0:src/backend/utils/errcodes.txt","postgresql:REL9_3_10:src/backend/utils/errcodes.txt","postgresql:REL9_3_11:src/backend/utils/errcodes.txt","postgresql:REL9_3_12:src/backend/utils/errcodes.txt","postgresql:REL9_3_13:src/backend/utils/errcodes.txt","postgresql:REL9_3_14:src/backend/utils/errcodes.txt","postgresql:REL9_3_15:src/backend/utils/errcodes.txt","postgresql:REL9_3_16:src/backend/utils/errcodes.txt","postgresql:REL9_3_17:src/backend/utils/errcodes.txt","postgresql:REL9_3_18:src/backend/utils/errcodes.txt","postgresql:REL9_3_19:src/backend/utils/errcodes.txt","postgresql:REL9_3_1:src/backend/utils/errcodes.txt","postgresql:REL9_3_20:src/backend/utils/errcodes.txt","postgresql:REL9_3_21:src/backend/utils/errcodes.txt","postgresql:REL9_3_22:src/backend/utils/errcodes.txt","postgresql:REL9_3_23:src/backend/utils/errcodes.txt","postgresql:REL9_3_24:src/backend/utils/errcodes.txt","postgresql:REL9_3_25:src/backend/utils/errcodes.txt","postgresql:REL9_3_2:src/backend/utils/errcodes.txt","postgresql:REL9_3_3:src/backend/utils/errcodes.txt","postgresql:REL9_3_4:src/backend/utils/errcodes.txt","postgresql:REL9_3_5:src/backend/utils/errcodes.txt","postgresql:REL9_3_6:src/backend/utils/errcodes.txt","postgresql:REL9_3_7:src/backend/utils/errcodes.txt","postgresql:REL9_3_8:src/backend/utils/errcodes.txt","postgresql:REL9_3_9:src/backend/utils/errcodes.txt","postgresql:REL9_4_0:src/backend/utils/errcodes.txt","postgresql:REL9_4_10:src/backend/utils/errcodes.txt","postgresql:REL9_4_11:src/backend/utils/errcodes.txt","postgresql:REL9_4_12:src/backend/utils/errcodes.txt","postgresql:REL9_4_13:src/backend/utils/errcodes.txt","postgresql:REL9_4_14:src/backend/utils/errcodes.txt","postgresql:REL9_4_15:src/backend/utils/errcodes.txt","postgresql:REL9_4_16:src/backend/utils/errcodes.txt","postgresql:REL9_4_17:src/backend/utils/errcodes.txt","postgresql:REL9_4_18:src/backend/utils/errcodes.txt","postgresql:REL9_4_19:src/backend/utils/errcodes.txt","postgresql:REL9_4_1:src/backend/utils/errcodes.txt","postgresql:REL9_4_20:src/backend/utils/errcodes.txt","postgresql:REL9_4_21:src/backend/utils/errcodes.txt","postgresql:REL9_4_22:src/backend/utils/errcodes.txt","postgresql:REL9_4_23:src/backend/utils/errcodes.txt","postgresql:REL9_4_24:src/backend/utils/errcodes.txt","postgresql:REL9_4_25:src/backend/utils/errcodes.txt","postgresql:REL9_4_26:src/backend/utils/errcodes.txt","postgresql:REL9_4_2:src/backend/utils/errcodes.txt","postgresql:REL9_4_3:src/backend/utils/errcodes.txt","postgresql:REL9_4_4:src/backend/utils/errcodes.txt","postgresql:REL9_4_5:src/backend/utils/errcodes.txt","postgresql:REL9_4_6:src/backend/utils/errcodes.txt","postgresql:REL9_4_7:src/backend/utils/errcodes.txt","postgresql:REL9_4_8:src/backend/utils/errcodes.txt","postgresql:REL9_4_9:src/backend/utils/errcodes.txt","postgresql:REL9_5_0:src/backend/utils/errcodes.txt","postgresql:REL9_5_10:src/backend/utils/errcodes.txt","postgresql:REL9_5_11:src/backend/utils/errcodes.txt","postgresql:REL9_5_12:src/backend/utils/errcodes.txt","postgresql:REL9_5_13:src/backend/utils/errcodes.txt","postgresql:REL9_5_14:src/backend/utils/errcodes.txt","postgresql:REL9_5_15:src/backend/utils/errcodes.txt","postgresql:REL9_5_16:src/backend/utils/errcodes.txt","postgresql:REL9_5_17:src/backend/utils/errcodes.txt","postgresql:REL9_5_18:src/backend/utils/errcodes.txt","postgresql:REL9_5_19:src/backend/utils/errcodes.txt","postgresql:REL9_5_1:src/backend/utils/errcodes.txt","postgresql:REL9_5_20:src/backend/utils/errcodes.txt","postgresql:REL9_5_21:src/backend/utils/errcodes.txt","postgresql:REL9_5_22:src/backend/utils/errcodes.txt","postgresql:REL9_5_23:src/backend/utils/errcodes.txt","postgresql:REL9_5_24:src/backend/utils/errcodes.txt","postgresql:REL9_5_25:src/backend/utils/errcodes.txt","postgresql:REL9_5_2:src/backend/utils/errcodes.txt","postgresql:REL9_5_3:src/backend/utils/errcodes.txt","postgresql:REL9_5_4:src/backend/utils/errcodes.txt","postgresql:REL9_5_5:src/backend/utils/errcodes.txt","postgresql:REL9_5_6:src/backend/utils/errcodes.txt","postgresql:REL9_5_7:src/backend/utils/errcodes.txt","postgresql:REL9_5_8:src/backend/utils/errcodes.txt","postgresql:REL9_5_9:src/backend/utils/errcodes.txt","postgresql:REL9_6_0:src/backend/utils/errcodes.txt","postgresql:REL9_6_10:src/backend/utils/errcodes.txt","postgresql:REL9_6_11:src/backend/utils/errcodes.txt","postgresql:REL9_6_12:src/backend/utils/errcodes.txt","postgresql:REL9_6_13:src/backend/utils/errcodes.txt","postgresql:REL9_6_14:src/backend/utils/errcodes.txt","postgresql:REL9_6_15:src/backend/utils/errcodes.txt","postgresql:REL9_6_16:src/backend/utils/errcodes.txt","postgresql:REL9_6_17:src/backend/utils/errcodes.txt","postgresql:REL9_6_18:src/backend/utils/errcodes.txt","postgresql:REL9_6_19:src/backend/utils/errcodes.txt","postgresql:REL9_6_1:src/backend/utils/errcodes.txt","postgresql:REL9_6_20:src/backend/utils/errcodes.txt","postgresql:REL9_6_21:src/backend/utils/errcodes.txt","postgresql:REL9_6_22:src/backend/utils/errcodes.txt","postgresql:REL9_6_23:src/backend/utils/errcodes.txt","postgresql:REL9_6_24:src/backend/utils/errcodes.txt","postgresql:REL9_6_2:src/backend/utils/errcodes.txt","postgresql:REL9_6_3:src/backend/utils/errcodes.txt","postgresql:REL9_6_4:src/backend/utils/errcodes.txt","postgresql:REL9_6_5:src/backend/utils/errcodes.txt","postgresql:REL9_6_6:src/backend/utils/errcodes.txt","postgresql:REL9_6_7:src/backend/utils/errcodes.txt","postgresql:REL9_6_8:src/backend/utils/errcodes.txt","postgresql:REL9_6_9:src/backend/utils/errcodes.txt","postgresql:REL_10_0:src/backend/utils/errcodes.txt","postgresql:REL_10_10:src/backend/utils/errcodes.txt","postgresql:REL_10_11:src/backend/utils/errcodes.txt","postgresql:REL_10_12:src/backend/utils/errcodes.txt","postgresql:REL_10_13:src/backend/utils/errcodes.txt","postgresql:REL_10_14:src/backend/utils/errcodes.txt","postgresql:REL_10_15:src/backend/utils/errcodes.txt","postgresql:REL_10_16:src/backend/utils/errcodes.txt","postgresql:REL_10_17:src/backend/utils/errcodes.txt","postgresql:REL_10_18:src/backend/utils/errcodes.txt","postgresql:REL_10_19:src/backend/utils/errcodes.txt","postgresql:REL_10_1:src/backend/utils/errcodes.txt","postgresql:REL_10_20:src/backend/utils/errcodes.txt","postgresql:REL_10_21:src/backend/utils/errcodes.txt","postgresql:REL_10_22:src/backend/utils/errcodes.txt","postgresql:REL_10_23:src/backend/utils/errcodes.txt","postgresql:REL_10_2:src/backend/utils/errcodes.txt","postgresql:REL_10_3:src/backend/utils/errcodes.txt","postgresql:REL_10_4:src/backend/utils/errcodes.txt","postgresql:REL_10_5:src/backend/utils/errcodes.txt","postgresql:REL_10_6:src/backend/utils/errcodes.txt","postgresql:REL_10_7:src/backend/utils/errcodes.txt","postgresql:REL_10_8:src/backend/utils/errcodes.txt","postgresql:REL_10_9:src/backend/utils/errcodes.txt","postgresql:REL_11_0:src/backend/utils/errcodes.txt","postgresql:REL_11_10:src/backend/utils/errcodes.txt","postgresql:REL_11_11:src/backend/utils/errcodes.txt","postgresql:REL_11_12:src/backend/utils/errcodes.txt","postgresql:REL_11_13:src/backend/utils/errcodes.txt","postgresql:REL_11_14:src/backend/utils/errcodes.txt","postgresql:REL_11_15:src/backend/utils/errcodes.txt","postgresql:REL_11_16:src/backend/utils/errcodes.txt","postgresql:REL_11_17:src/backend/utils/errcodes.txt","postgresql:REL_11_18:src/backend/utils/errcodes.txt","postgresql:REL_11_19:src/backend/utils/errcodes.txt","postgresql:REL_11_1:src/backend/utils/errcodes.txt","postgresql:REL_11_20:src/backend/utils/errcodes.txt","postgresql:REL_11_21:src/backend/utils/errcodes.txt","postgresql:REL_11_22:src/backend/utils/errcodes.txt","postgresql:REL_11_2:src/backend/utils/errcodes.txt","postgresql:REL_11_3:src/backend/utils/errcodes.txt","postgresql:REL_11_4:src/backend/utils/errcodes.txt","postgresql:REL_11_5:src/backend/utils/errcodes.txt","postgresql:REL_11_6:src/backend/utils/errcodes.txt","postgresql:REL_11_7:src/backend/utils/errcodes.txt","postgresql:REL_11_8:src/backend/utils/errcodes.txt","postgresql:REL_11_9:src/backend/utils/errcodes.txt","postgresql:REL_12_0:src/backend/utils/errcodes.txt","postgresql:REL_12_10:src/backend/utils/errcodes.txt","postgresql:REL_12_11:src/backend/utils/errcodes.txt","postgresql:REL_12_12:src/backend/utils/errcodes.txt","postgresql:REL_12_13:src/backend/utils/errcodes.txt","postgresql:REL_12_14:src/backend/utils/errcodes.txt","postgresql:REL_12_15:src/backend/utils/errcodes.txt","postgresql:REL_12_16:src/backend/utils/errcodes.txt","postgresql:REL_12_17:src/backend/utils/errcodes.txt","postgresql:REL_12_18:src/backend/utils/errcodes.txt","postgresql:REL_12_19:src/backend/utils/errcodes.txt","postgresql:REL_12_1:src/backend/utils/errcodes.txt","postgresql:REL_12_20:src/backend/utils/errcodes.txt","postgresql:REL_12_21:src/backend/utils/errcodes.txt","postgresql:REL_12_22:src/backend/utils/errcodes.txt","postgresql:REL_12_2:src/backend/utils/errcodes.txt","postgresql:REL_12_3:src/backend/utils/errcodes.txt","postgresql:REL_12_4:src/backend/utils/errcodes.txt","postgresql:REL_12_5:src/backend/utils/errcodes.txt","postgresql:REL_12_6:src/backend/utils/errcodes.txt","postgresql:REL_12_7:src/backend/utils/errcodes.txt","postgresql:REL_12_8:src/backend/utils/errcodes.txt","postgresql:REL_12_9:src/backend/utils/errcodes.txt","postgresql:REL_13_0:src/backend/utils/errcodes.txt","postgresql:REL_13_10:src/backend/utils/errcodes.txt","postgresql:REL_13_11:src/backend/utils/errcodes.txt","postgresql:REL_13_12:src/backend/utils/errcodes.txt","postgresql:REL_13_13:src/backend/utils/errcodes.txt","postgresql:REL_13_14:src/backend/utils/errcodes.txt","postgresql:REL_13_15:src/backend/utils/errcodes.txt","postgresql:REL_13_16:src/backend/utils/errcodes.txt","postgresql:REL_13_17:src/backend/utils/errcodes.txt","postgresql:REL_13_18:src/backend/utils/errcodes.txt","postgresql:REL_13_19:src/backend/utils/errcodes.txt","postgresql:REL_13_1:src/backend/utils/errcodes.txt","postgresql:REL_13_20:src/backend/utils/errcodes.txt","postgresql:REL_13_21:src/backend/utils/errcodes.txt","postgresql:REL_13_22:src/backend/utils/errcodes.txt","postgresql:REL_13_23:src/backend/utils/errcodes.txt","postgresql:REL_13_2:src/backend/utils/errcodes.txt","postgresql:REL_13_3:src/backend/utils/errcodes.txt","postgresql:REL_13_4:src/backend/utils/errcodes.txt","postgresql:REL_13_5:src/backend/utils/errcodes.txt","postgresql:REL_13_6:src/backend/utils/errcodes.txt","postgresql:REL_13_7:src/backend/utils/errcodes.txt","postgresql:REL_13_8:src/backend/utils/errcodes.txt","postgresql:REL_13_9:src/backend/utils/errcodes.txt","postgresql:REL_14_0:src/backend/utils/errcodes.txt","postgresql:REL_14_10:src/backend/utils/errcodes.txt","postgresql:REL_14_11:src/backend/utils/errcodes.txt","postgresql:REL_14_12:src/backend/utils/errcodes.txt","postgresql:REL_14_13:src/backend/utils/errcodes.txt","postgresql:REL_14_14:src/backend/utils/errcodes.txt","postgresql:REL_14_15:src/backend/utils/errcodes.txt","postgresql:REL_14_16:src/backend/utils/errcodes.txt","postgresql:REL_14_17:src/backend/utils/errcodes.txt","postgresql:REL_14_18:src/backend/utils/errcodes.txt","postgresql:REL_14_19:src/backend/utils/errcodes.txt","postgresql:REL_14_1:src/backend/utils/errcodes.txt","postgresql:REL_14_20:src/backend/utils/errcodes.txt","postgresql:REL_14_21:src/backend/utils/errcodes.txt","postgresql:REL_14_22:src/backend/utils/errcodes.txt","postgresql:REL_14_23:src/backend/utils/errcodes.txt","postgresql:REL_14_24:src/backend/utils/errcodes.txt","postgresql:REL_14_2:src/backend/utils/errcodes.txt","postgresql:REL_14_3:src/backend/utils/errcodes.txt","postgresql:REL_14_4:src/backend/utils/errcodes.txt","postgresql:REL_14_5:src/backend/utils/errcodes.txt","postgresql:REL_14_6:src/backend/utils/errcodes.txt","postgresql:REL_14_7:src/backend/utils/errcodes.txt","postgresql:REL_14_8:src/backend/utils/errcodes.txt","postgresql:REL_14_9:src/backend/utils/errcodes.txt","postgresql:REL_15_0:src/backend/utils/errcodes.txt","postgresql:REL_15_10:src/backend/utils/errcodes.txt","postgresql:REL_15_11:src/backend/utils/errcodes.txt","postgresql:REL_15_12:src/backend/utils/errcodes.txt","postgresql:REL_15_13:src/backend/utils/errcodes.txt","postgresql:REL_15_14:src/backend/utils/errcodes.txt","postgresql:REL_15_15:src/backend/utils/errcodes.txt","postgresql:REL_15_16:src/backend/utils/errcodes.txt","postgresql:REL_15_17:src/backend/utils/errcodes.txt","postgresql:REL_15_18:src/backend/utils/errcodes.txt","postgresql:REL_15_19:src/backend/utils/errcodes.txt","postgresql:REL_15_1:src/backend/utils/errcodes.txt","postgresql:REL_15_2:src/backend/utils/errcodes.txt","postgresql:REL_15_3:src/backend/utils/errcodes.txt","postgresql:REL_15_4:src/backend/utils/errcodes.txt","postgresql:REL_15_5:src/backend/utils/errcodes.txt","postgresql:REL_15_6:src/backend/utils/errcodes.txt","postgresql:REL_15_7:src/backend/utils/errcodes.txt","postgresql:REL_15_8:src/backend/utils/errcodes.txt","postgresql:REL_15_9:src/backend/utils/errcodes.txt","postgresql:REL_16_0:src/backend/utils/errcodes.txt","postgresql:REL_16_10:src/backend/utils/errcodes.txt","postgresql:REL_16_11:src/backend/utils/errcodes.txt","postgresql:REL_16_12:src/backend/utils/errcodes.txt","postgresql:REL_16_13:src/backend/utils/errcodes.txt","postgresql:REL_16_14:src/backend/utils/errcodes.txt","postgresql:REL_16_15:src/backend/utils/errcodes.txt","postgresql:REL_16_1:src/backend/utils/errcodes.txt","postgresql:REL_16_2:src/backend/utils/errcodes.txt","postgresql:REL_16_3:src/backend/utils/errcodes.txt","postgresql:REL_16_4:src/backend/utils/errcodes.txt","postgresql:REL_16_5:src/backend/utils/errcodes.txt","postgresql:REL_16_6:src/backend/utils/errcodes.txt","postgresql:REL_16_7:src/backend/utils/errcodes.txt","postgresql:REL_16_8:src/backend/utils/errcodes.txt","postgresql:REL_16_9:src/backend/utils/errcodes.txt","postgresql:REL_17_0:src/backend/utils/errcodes.txt","postgresql:REL_17_10:src/backend/utils/errcodes.txt","postgresql:REL_17_11:src/backend/utils/errcodes.txt","postgresql:REL_17_1:src/backend/utils/errcodes.txt","postgresql:REL_17_2:src/backend/utils/errcodes.txt","postgresql:REL_17_3:src/backend/utils/errcodes.txt","postgresql:REL_17_4:src/backend/utils/errcodes.txt","postgresql:REL_17_5:src/backend/utils/errcodes.txt","postgresql:REL_17_6:src/backend/utils/errcodes.txt","postgresql:REL_17_7:src/backend/utils/errcodes.txt","postgresql:REL_17_8:src/backend/utils/errcodes.txt","postgresql:REL_17_9:src/backend/utils/errcodes.txt","postgresql:REL_18_0:src/backend/utils/errcodes.txt","postgresql:REL_18_1:src/backend/utils/errcodes.txt","postgresql:REL_18_2:src/backend/utils/errcodes.txt","postgresql:REL_18_3:src/backend/utils/errcodes.txt","postgresql:REL_18_4:src/backend/utils/errcodes.txt","postgresql:REL_18_6:src/backend/utils/errcodes.txt","postgresql:REL_19_BETA3:src/backend/utils/errcodes.txt"],"notes":"Presence in a PostgreSQL release definition file is established; runtime throw/use scanning is maintained separately.","scope":"release-definition-catalogue","status":"definition_only"},{"evidence_ids":[],"notes":"No occurrence was found in the locked 7.4..8.4 definition files; 7.0..7.3 source gaps remain explicit.","scope":"pre9-definition-history","status":"unknown"}]},"Evidence":[{"Kind":"cases","Ordinal":0,"ID":"overlapping_range_exclusion","ServerVersion":null,"Status":null,"Payload":{"assertions":["SQLSTATE is 23P01","The exclusion constraint is identified","A non-overlapping range can be inserted afterward"],"case_id":"overlapping_range_exclusion","cleanup":"Drop the case schema with an owner connection.","has_snippet":true,"position":0,"preconditions":["A range column has a GiST exclusion constraint using \u0026\u0026","The second range overlaps the committed first range"],"repair":"Choose a non-overlapping interval or resolve the conflicting reservation according to business rules; do not treat exclusion as a generic duplicate-key check.","trigger":"Insert an overlapping range.","versions":["10","18"]}},{"Kind":"claims","Ordinal":0,"ID":"identity","ServerVersion":null,"Status":null,"Payload":{"claim_id":"identity","limits":"The exclusion operator may compare more than equality; the operator class and constraint definition determine the conflict.","method":"Read the fixed errcodes row.","position":0,"runtime":[],"sources":["src.errcodes.18.6"],"statement":"23P01 is exclusion_violation in Class 23."}},{"Kind":"claims","Ordinal":1,"ID":"mechanism","ServerVersion":null,"Status":null,"Payload":{"claim_id":"mechanism","limits":"A half-open range [10,12) does not overlap [1,10); changing bounds is a business rule, not a blanket retry.","method":"Trace check_exclusion_or_unique_constraint and the range exclusion documentation.","position":1,"runtime":[],"sources":["src.execIndexing.18.6","doc.rangetypes.18.6","src.calls.REL_18_6"],"statement":"An exclusion constraint rejects a row when the configured operator comparisons are all true against an existing row; the range example uses \u0026\u0026 for overlap."}},{"Kind":"claims","Ordinal":2,"ID":"runtime","ServerVersion":null,"Status":null,"Payload":{"claim_id":"runtime","limits":"This case does not test DEFERRABLE exclusion constraints, concurrent waits, or every operator class.","method":"Read the selected summaries and raw diagnostics.","position":2,"runtime":[],"sources":["runtime.23P01-batch1-latest-20260909.latest","runtime.23P01-batch1-pg10-20260909.pg10"],"statement":"The selected immediate GiST range case returned 23P01 on PG18.6 and PG10.21, identified bookings_no_overlap, stayed IDLE, and committed a non-overlapping [10,12) range."}},{"Kind":"messages","Ordinal":0,"ID":"conflict","ServerVersion":null,"Status":null,"Payload":{"limits":"The detail is dynamically built from the conflicting key values; the fallback is “Key conflicts with existing key.”","message_id":"conflict","path":"","position":0,"raw":{"detail_template":"Key %s conflicts with existing key %s.","id":"conflict","limits":"The detail is dynamically built from the conflicting key values; the fallback is “Key conflicts with existing key.”","primary_template":"conflicting key value violates exclusion constraint \"%s\"","severity_source":"ERROR","sources":["src.execIndexing.18.6"],"sqlstate":"23P01"},"severity":"ERROR","sources":["src.execIndexing.18.6"],"templates":[{"kind":"primary","literal":"conflicting key value violates exclusion constraint \" \"","position":0,"role":"","template":"conflicting key value violates exclusion constraint \"%s\""},{"kind":"detail","literal":"Key conflicts with existing key .","position":1,"role":"","template":"Key %s conflicts with existing key %s."}]}},{"Kind":"runtimes","Ordinal":0,"ID":"runtime.23P01-batch1-latest-20260909.latest","ServerVersion":"18.6 (Homebrew)","Status":"passed","Payload":{"cases":["overlapping_range_exclusion"],"limits":"","position":0,"raw":{"case_manifest":{"path":"verify/cases/23P01/cases.json","sha256":"6dcb833ed64435a75016520f520cbb1abffc7d8751eb9195dc8ad5ffa2a9680e"},"cases":["overlapping_range_exclusion"],"id":"runtime.23P01-batch1-latest-20260909.latest","observed":{"constraint":"bookings_no_overlap","detail":"Key (during)=([5,12)) conflicts with existing key (during)=([1,10)).","primary":"conflicting key value violates exclusion constraint \"bookings_no_overlap\"","rows":[[1,"[1,10)"],[2,"[10,12)"]],"sqlstate":"23P01","status_after_error":"IDLE"},"raw":"verify/results/23P01-batch1-latest-20260909/latest/raw.jsonl","raw_sha256":"b4e9ebe13743c12d84be1113ebdcec01c12ae79368e9b85b4ff1e01179dc7880","run_id":"23P01-batch1-latest-20260909","server_version":"18.6 (Homebrew)","server_version_num":180006,"snippet_registry":{"path":"verify/cases/23P01/snippets.json","sha256":"475f58dda688a5864436d67e18f16abfbfae0b178acecaabe66ebaca7ab3c585"},"status":"passed","summary":"verify/results/23P01-batch1-latest-20260909/latest/summary.json","summary_sha256":"5e613eec8134801dfb3a603e7926418ee5d73b585546fd1aaa9004eeec553ef4","target":"latest"},"run_id":"23P01-batch1-latest-20260909","runtime_id":"runtime.23P01-batch1-latest-20260909.latest","server_version":"18.6 (Homebrew)","status":"passed","target":"latest"}},{"Kind":"runtimes","Ordinal":1,"ID":"runtime.23P01-batch1-pg10-20260909.pg10","ServerVersion":"10.21 (Debian 10.21-1.pgdg90+1)","Status":"passed","Payload":{"cases":["overlapping_range_exclusion"],"limits":"","position":1,"raw":{"case_manifest":{"path":"verify/cases/23P01/cases.json","sha256":"6dcb833ed64435a75016520f520cbb1abffc7d8751eb9195dc8ad5ffa2a9680e"},"cases":["overlapping_range_exclusion"],"id":"runtime.23P01-batch1-pg10-20260909.pg10","observed":{"constraint":"bookings_no_overlap","detail":"Key (during)=([5,12)) conflicts with existing key (during)=([1,10)).","primary":"conflicting key value violates exclusion constraint \"bookings_no_overlap\"","rows":[[1,"[1,10)"],[2,"[10,12)"]],"sqlstate":"23P01","status_after_error":"IDLE"},"raw":"verify/results/23P01-batch1-pg10-20260909/pg10/raw.jsonl","raw_sha256":"1975e9348838d73f3433c2da02a3f3972dc3670e24bc89d73d631cd35b219165","run_id":"23P01-batch1-pg10-20260909","server_version":"10.21 (Debian 10.21-1.pgdg90+1)","server_version_num":100021,"snippet_registry":{"path":"verify/cases/23P01/snippets.json","sha256":"475f58dda688a5864436d67e18f16abfbfae0b178acecaabe66ebaca7ab3c585"},"status":"passed","summary":"verify/results/23P01-batch1-pg10-20260909/pg10/summary.json","summary_sha256":"2b071d07ad5977b4fd9133f9815a92fc3fca27980659f26654b8dc3793abd767","target":"pg10"},"run_id":"23P01-batch1-pg10-20260909","runtime_id":"runtime.23P01-batch1-pg10-20260909.pg10","server_version":"10.21 (Debian 10.21-1.pgdg90+1)","status":"passed","target":"pg10"}},{"Kind":"sources","Ordinal":0,"ID":"src.errcodes.18.6","ServerVersion":null,"Status":null,"Payload":{"commit":"724edf9bde9d356724ad384a2e196edc3c9f80f7","docs_url":"","kind":"upstream_source","location":"","path":"src/backend/utils/errcodes.txt","position":0,"sha256":"6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba","source_id":"src.errcodes.18.6","tag":"REL_18_6","url":"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/utils/errcodes.txt"}},{"Kind":"sources","Ordinal":1,"ID":"src.calls.REL_18_6","ServerVersion":null,"Status":null,"Payload":{"commit":"","docs_url":"","kind":"local_artifact","location":"","path":"raw/calls/REL_18_6.jsonl","position":1,"sha256":"9ee8a0e81d8f0825c5c1ae45583439859a26e602bdd4ce2f2a62aa278867ccbf","source_id":"src.calls.REL_18_6","tag":"","url":""}},{"Kind":"sources","Ordinal":2,"ID":"src.execIndexing.18.6","ServerVersion":null,"Status":null,"Payload":{"commit":"724edf9bde9d356724ad384a2e196edc3c9f80f7","docs_url":"","kind":"upstream_source","location":"","path":"src/backend/executor/execIndexing.c","position":2,"sha256":"24c80553ab4b28d7d2a288dd9196c8db9459c7f308853cd8c8c939485e15f199","source_id":"src.execIndexing.18.6","tag":"REL_18_6","url":"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/executor/execIndexing.c#L917-L937"}},{"Kind":"sources","Ordinal":3,"ID":"doc.rangetypes.18.6","ServerVersion":null,"Status":null,"Payload":{"commit":"724edf9bde9d356724ad384a2e196edc3c9f80f7","docs_url":"https://www.postgresql.org/docs/18/rangetypes.html#RANGETYPES-CONSTRAINT","kind":"upstream_source","location":"","path":"doc/src/sgml/rangetypes.sgml","position":3,"sha256":"cfeffb134d2acc2ec45141726583b041410665c4a2f8ecf66cd3f9484a7f0014","source_id":"doc.rangetypes.18.6","tag":"REL_18_6","url":"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/doc/src/sgml/rangetypes.sgml#L540-L573"}}]}
