{"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":"en","Title":"23P01 — exclusion_violation","Summary":"23P01 means an exclusion constraint found an existing row for which all configured comparison operators conflict. The selected range case uses \u0026\u0026, so it rejects an overlap rather than merely a duplicate value.","BodyHTML":"\u003ch1\u003e23P01 — exclusion_violation\u003c/h1\u003e\n\u003ch2\u003eAt a glance {#at-a-glance}\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003e23P01\u003c/code\u003e means an exclusion constraint found an existing row for which all configured comparison operators conflict. The selected range case uses \u003ccode\u003e\u0026amp;\u0026amp;\u003c/code\u003e, so it rejects an overlap rather than merely a duplicate value.\u003c/p\u003e\n\u003ch2\u003eMeaning {#meaning}\u003c/h2\u003e\n\u003cp\u003eAn exclusion constraint combines an index access method with operators such as range overlap. In the case registry, \u003ccode\u003e[5,12)\u003c/code\u003e conflicts with \u003ccode\u003e[1,10)\u003c/code\u003e, while \u003ccode\u003e[10,12)\u003c/code\u003e is accepted because PostgreSQL’s half-open ranges do not overlap at 10. Operator classes and the configured operator combination determine the result; DEFERRABLE changes when the conflict is checked.\u003c/p\u003e\n\u003ch2\u003eDiagnosis {#diagnosis}\u003c/h2\u003e\n\u003cp\u003eCapture \u003ccode\u003econstraint_name\u003c/code\u003e, the key values in DETAIL, and whether the constraint is immediate or deferred. Inspect the existing rows with the same operator semantics; equality checks alone are insufficient. An immediate conflict is raised at the statement boundary, while a DEFERRABLE conflict can surface at \u003ccode\u003eSET CONSTRAINTS\u003c/code\u003e or \u003ccode\u003eCOMMIT\u003c/code\u003e. The selected case is immediate and runs in autocommit mode, so its connection returns \u003ccode\u003eIDLE\u003c/code\u003e after the rejected insert.\u003c/p\u003e\n\u003ch2\u003eResponse {#response}\u003c/h2\u003e\n\u003cp\u003eChoose a non-conflicting value or coordinate the conflicting booking/resource under the application’s concurrency policy. In autocommit, a failed statement ends its own transaction boundary and the connection can be reused. In an explicit transaction, an immediate error can leave the transaction aborted just as a deferred error can; issue \u003ccode\u003eROLLBACK\u003c/code\u003e, or \u003ccode\u003eROLLBACK TO SAVEPOINT\u003c/code\u003e when the operation was deliberately isolated in a savepoint, before retrying the complete operation. A DEFERRABLE conflict may be reported at \u003ccode\u003eSET CONSTRAINTS\u003c/code\u003e or \u003ccode\u003eCOMMIT\u003c/code\u003e, so retry from the clean boundary required by that check point; retry only when the operation is safe and the conflict can actually resolve. Do not “fix” an overlap by changing range bounds without applying the business rule.\u003c/p\u003e\n\u003ch2\u003eObserved diagnostics {#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\u003eRepresentative case {#case}\u003c/h2\u003e\n\u003cp\u003eIn this example, the second booking overlaps the existing range and is repaired by moving its lower bound to the existing upper bound. The complete setup, assertions, and cleanup are in the \u003ca href=\"#cases\" rel=\"nofollow\"\u003ecase export\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\u003eThe SQLSTATE, diagnostic, transaction-state, and repair assertions for this excerpt are produced from the checked case registry; see the \u003ca href=\"#sources\" rel=\"nofollow\"\u003estructured evidence\u003c/a\u003e and \u003ca href=\"#cases\" rel=\"nofollow\"\u003ecase export\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eAuthored evidence IDs: \u003ccode\u003eidentity\u003c/code\u003e, \u003ccode\u003emechanism\u003c/code\u003e, \u003ccode\u003eruntime\u003c/code\u003e. Selected runtime records: \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\u003eVersions {#versions}\u003c/h2\u003e\n\u003cp\u003eThe locked catalogue observes \u003ccode\u003e23P01\u003c/code\u003e from the 9.0.0 boundary and in every listed formal snapshot. The selected immediate range case passes on 18.6 and 10.21; it does not test deferred or concurrent exclusion checks.\u003c/p\u003e\n\u003ch2\u003eRelated {#related}\u003c/h2\u003e\n\u003cp\u003eCompare \u003ca href=\"/wiki/sqlstate/23505/\" rel=\"nofollow\"\u003e23505 unique violation\u003c/a\u003e, \u003ca href=\"/wiki/sqlstate/23514/\" rel=\"nofollow\"\u003e23514 CHECK violation\u003c/a\u003e, and \u003ca href=\"/wiki/sqlstate/23001/\" rel=\"nofollow\"\u003e23001 RESTRICT violation\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eSources {#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\"\u003eofficial documentation\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n","SourceRevision":"english-manuals:8c95fb3325400efbfd8c98cece0651616cd3c09eb7bcdf360341f55f98d82f92","ContentHash":"6c5b092c8e569ba7673fc33f144f27aaefd75d28e5715d56d0a93d6f871b6e1c","Payload":{"body_md":"# 23P01 — exclusion_violation\n\n## At a glance {#at-a-glance}\n\n`23P01` means an exclusion constraint found an existing row for which all configured comparison operators conflict. The selected range case uses `\u0026\u0026`, so it rejects an overlap rather than merely a duplicate value.\n\n\n## Meaning {#meaning}\n\nAn exclusion constraint combines an index access method with operators such as range overlap. In the case registry, `[5,12)` conflicts with `[1,10)`, while `[10,12)` is accepted because PostgreSQL’s half-open ranges do not overlap at 10. Operator classes and the configured operator combination determine the result; DEFERRABLE changes when the conflict is checked.\n\n## Diagnosis {#diagnosis}\n\nCapture `constraint_name`, the key values in DETAIL, and whether the constraint is immediate or deferred. Inspect the existing rows with the same operator semantics; equality checks alone are insufficient. An immediate conflict is raised at the statement boundary, while a DEFERRABLE conflict can surface at `SET CONSTRAINTS` or `COMMIT`. The selected case is immediate and runs in autocommit mode, so its connection returns `IDLE` after the rejected insert.\n\n## Response {#response}\n\nChoose a non-conflicting value or coordinate the conflicting booking/resource under the application’s concurrency policy. In autocommit, a failed statement ends its own transaction boundary and the connection can be reused. In an explicit transaction, an immediate error can leave the transaction aborted just as a deferred error can; issue `ROLLBACK`, or `ROLLBACK TO SAVEPOINT` when the operation was deliberately isolated in a savepoint, before retrying the complete operation. A DEFERRABLE conflict may be reported at `SET CONSTRAINTS` or `COMMIT`, so retry from the clean boundary required by that check point; retry only when the operation is safe and the conflict can actually resolve. Do not “fix” an overlap by changing range bounds without applying the business rule.\n\n## Observed diagnostics {#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## Representative case {#case}\n\nIn this example, the second booking overlaps the existing range and is repaired by moving its lower bound to the existing upper bound. The complete setup, assertions, and cleanup are in the [case export](#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\nThe SQLSTATE, diagnostic, transaction-state, and repair assertions for this excerpt are produced from the checked case registry; see the [structured evidence](#sources) and [case export](#cases).\n\nAuthored evidence IDs: `identity`, `mechanism`, `runtime`. Selected runtime records: `runtime.23P01-batch1-latest-20260909.latest`, `runtime.23P01-batch1-pg10-20260909.pg10`.\n\n## Versions {#versions}\n\nThe locked catalogue observes `23P01` from the 9.0.0 boundary and in every listed formal snapshot. The selected immediate range case passes on 18.6 and 10.21; it does not test deferred or concurrent exclusion checks.\n\n## Related {#related}\n\nCompare [23505 unique violation](/wiki/sqlstate/23505/), [23514 CHECK violation](/wiki/sqlstate/23514/), and [23001 RESTRICT violation](/wiki/sqlstate/23001/).\n\n## Sources {#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`) · [official documentation](/docs/18/rangetypes.html#RANGETYPES-CONSTRAINT)\n","description":"PostgreSQL SQLSTATE 23P01: exclusion_violation for conflicting exclusion-constraint operators.","is_stale":false,"name":"","sections":[{"anchor":"","heading":"","html":"\u0026lt;h1\u0026gt;23P01 — exclusion_violation\u0026lt;/h1\u0026gt;"},{"anchor":"at-a-glance","heading":"At a glance","html":"\u003cp\u003e\u003ccode\u003e23P01\u003c/code\u003e means an exclusion constraint found an existing row for which all configured comparison operators conflict. The selected range case uses \u003ccode\u003e\u0026amp;\u0026amp;\u003c/code\u003e, so it rejects an overlap rather than merely a duplicate value.\u003c/p\u003e"},{"anchor":"meaning","heading":"Meaning","html":"\u003cp\u003eAn exclusion constraint combines an index access method with operators such as range overlap. In the case registry, \u003ccode\u003e[5,12)\u003c/code\u003e conflicts with \u003ccode\u003e[1,10)\u003c/code\u003e, while \u003ccode\u003e[10,12)\u003c/code\u003e is accepted because PostgreSQL’s half-open ranges do not overlap at 10. Operator classes and the configured operator combination determine the result; DEFERRABLE changes when the conflict is checked.\u003c/p\u003e"},{"anchor":"diagnosis","heading":"Diagnosis","html":"\u003cp\u003eCapture \u003ccode\u003econstraint_name\u003c/code\u003e, the key values in DETAIL, and whether the constraint is immediate or deferred. Inspect the existing rows with the same operator semantics; equality checks alone are insufficient. An immediate conflict is raised at the statement boundary, while a DEFERRABLE conflict can surface at \u003ccode\u003eSET CONSTRAINTS\u003c/code\u003e or \u003ccode\u003eCOMMIT\u003c/code\u003e. The selected case is immediate and runs in autocommit mode, so its connection returns \u003ccode\u003eIDLE\u003c/code\u003e after the rejected insert.\u003c/p\u003e"},{"anchor":"response","heading":"Response","html":"\u003cp\u003eChoose a non-conflicting value or coordinate the conflicting booking/resource under the application’s concurrency policy. In autocommit, a failed statement ends its own transaction boundary and the connection can be reused. In an explicit transaction, an immediate error can leave the transaction aborted just as a deferred error can; issue \u003ccode\u003eROLLBACK\u003c/code\u003e, or \u003ccode\u003eROLLBACK TO SAVEPOINT\u003c/code\u003e when the operation was deliberately isolated in a savepoint, before retrying the complete operation. A DEFERRABLE conflict may be reported at \u003ccode\u003eSET CONSTRAINTS\u003c/code\u003e or \u003ccode\u003eCOMMIT\u003c/code\u003e, so retry from the clean boundary required by that check point; retry only when the operation is safe and the conflict can actually resolve. Do not “fix” an overlap by changing range bounds without applying the business rule.\u003c/p\u003e"},{"anchor":"messages","heading":"Observed diagnostics","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":"Representative case","html":"\u003cp\u003eIn this example, the second booking overlaps the existing range and is repaired by moving its lower bound to the existing upper bound. The complete setup, assertions, and cleanup are in the \u003ca href=\"#cases\"\u003ecase export\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\u003eThe SQLSTATE, diagnostic, transaction-state, and repair assertions for this excerpt are produced from the checked case registry; see the \u003ca href=\"#sources\"\u003estructured evidence\u003c/a\u003e and \u003ca href=\"#cases\"\u003ecase export\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eAuthored evidence IDs: \u003ccode\u003eidentity\u003c/code\u003e, \u003ccode\u003emechanism\u003c/code\u003e, \u003ccode\u003eruntime\u003c/code\u003e. Selected runtime records: \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":"Versions","html":"\u003cp\u003eThe locked catalogue observes \u003ccode\u003e23P01\u003c/code\u003e from the 9.0.0 boundary and in every listed formal snapshot. The selected immediate range case passes on 18.6 and 10.21; it does not test deferred or concurrent exclusion checks.\u003c/p\u003e"},{"anchor":"related","heading":"Related","html":"\u003cp\u003eCompare \u003ca href=\"/wiki/sqlstate/23505/\"\u003e23505 unique violation\u003c/a\u003e, \u003ca href=\"/wiki/sqlstate/23514/\"\u003e23514 CHECK violation\u003c/a\u003e, and \u003ca href=\"/wiki/sqlstate/23001/\"\u003e23001 RESTRICT violation\u003c/a\u003e.\u003c/p\u003e"},{"anchor":"sources","heading":"Sources","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\"\u003eofficial documentation\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e"}],"summary":"23P01 means an exclusion constraint found an existing row for which all configured comparison operators conflict. The selected range case uses \u0026\u0026, so it rejects an overlap rather than merely a duplicate value.","title":"23P01 — exclusion_violation","translation_source_rev":"268bc19978cd803ea401f8390e48efb813bd4136f69226ee6397f3a284a9038d"}},"RequestedLocale":"en","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"}}]}
