{"Entry":{"collection":"sqlstate","key":"42P20","name":"42P20","aliases":[],"metadata":{"aliases":[],"case_count":0,"class_code":"42","condition_name":"windowing_error","condition_names":["windowing_error"],"content_hash":"f9a7a952c4fd7dfbd4a82128a5426baa31304f7301d746d34e367aebd034a898","depth":"reference","editorial_review":"reviewed","evidence_tier":"source_path_confirmed","imported_at":"2026-09-30T17:45:27.769743+08:00","introduced":null,"known_present_by":"8.4.0","macros":["ERRCODE_WINDOWING_ERROR"],"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_WINDOWING_ERROR","removed":null,"runtime_verification":"not_run","severity_classes":["E"],"snippet_count":0,"source_rev":"english-manuals:0695f162fb91bad071c70775f2f11312b71e50d33f23019c64084f9253e94cb3","sqlstate":"42P20","status":"active","summary_zh":"窗口函数调用或框架边界定义不合法。"}},"Definition":{"Collection":"sqlstate","Key":"42P20","SourceDatabase":"center","Version":"18","SourceTable":"sqlstate","SourceKey":"42P20","SourceRevision":"english-manuals:0695f162fb91bad071c70775f2f11312b71e50d33f23019c64084f9253e94cb3","Facts":{"aliases":[],"class_name":"Syntax Error or Access Rule Violation","condition_name":"windowing_error","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"56dacf78e618ff0fd8c533e05db597b80d7ebbad7f8e512a888217d0640aa328","slug":"18"},"lang":"en","sqlstate":"42P20"},"ManualEvidence":{"doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"56dacf78e618ff0fd8c533e05db597b80d7ebbad7f8e512a888217d0640aa328","slug":"18"}},"MeasuredEvidence":{}},"Text":{"Collection":"sqlstate","Key":"42P20","SourceDatabase":"center","Version":"","Locale":"zh-Hans","Title":"42P20 — 窗口函数错误","Summary":"窗口函数调用或框架边界定义不合法。","BodyHTML":"\u003ch1\u003e42P20 — 窗口函数错误\u003c/h1\u003e\n\u003ch2\u003e速览 {#at-a-glance}\u003c/h2\u003e\n\u003cp\u003e\u003ccode\u003e42P20\u003c/code\u003e（\u003cstrong\u003ewindowing_error\u003c/strong\u003e）窗口定义同时约束函数调用和框架边界。\u003c/p\u003e\n\u003ch2\u003e含义 {#meaning}\u003c/h2\u003e\n\u003cp\u003e固定核心在窗口函数放置或嵌套错误，以及窗口定义结构无效时使用 \u003ccode\u003e42P20\u003c/code\u003e。解析器语法拒绝不可能的框架起止组合；解析分析拒绝在不能包含窗口函数的子句中使用窗口函数，或把一个窗口函数放入另一个窗口函数；命名窗口转换则拒绝冲突的继承方式。合法框架对某一行仍可能为空，所以结果为空本身不是 \u003ccode\u003e42P20\u003c/code\u003e 信号。\u003c/p\u003e\n\u003ch2\u003e诊断 {#diagnosis}\u003c/h2\u003e\n\u003cp\u003e先按 primary 消息分类，再改 SQL。框架消息指向 \u003ccode\u003eUNBOUNDED\u003c/code\u003e 方向或起止顺序；带 offset 的 \u003ccode\u003eRANGE\u003c/code\u003e 必须有且只有一个 \u003ccode\u003eORDER BY\u003c/code\u003e 列，\u003ccode\u003eGROUPS\u003c/code\u003e 必须有 \u003ccode\u003eORDER BY\u003c/code\u003e。放置消息会指出 \u003ccode\u003eWHERE\u003c/code\u003e、\u003ccode\u003eGROUP BY\u003c/code\u003e、\u003ccode\u003eJOIN\u003c/code\u003e、\u003ccode\u003eRETURNING\u003c/code\u003e 或窗口定义等子句；嵌套调用消息表示一个窗口表达式出现在另一个窗口表达式内部。命名窗口消息分别表示重复定义、覆盖所复制窗口的 \u003ccode\u003ePARTITION BY\u003c/code\u003e 或 \u003ccode\u003eORDER BY\u003c/code\u003e，以及复制已经带框架的窗口；因此 \u003ccode\u003eOVER foo\u003c/code\u003e 与 \u003ccode\u003eOVER (foo)\u003c/code\u003e 的继承行为不同。执行器会把负的 \u003ccode\u003eROWS\u003c/code\u003e 或 \u003ccode\u003eGROUPS\u003c/code\u003e 框架 offset 报为 SQLSTATE \u003ccode\u003e22013\u003c/code\u003e（\u003ccode\u003einvalid_preceding_or_following_size\u003c/code\u003e），把 NULL offset 报为 \u003ccode\u003e22004\u003c/code\u003e；这些不是 \u003ccode\u003e42P20\u003c/code\u003e。\u003c/p\u003e\n\u003ch2\u003e处理 {#response}\u003c/h2\u003e\n\u003cp\u003e把嵌套计算移到外层查询，或把窗口表达式移出消息指出的命名子句。只修复对应的框架语法，为 \u003ccode\u003eRANGE\u003c/code\u003e/\u003ccode\u003eGROUPS\u003c/code\u003e 补上所需排序，并定义一个没有冲突覆盖的命名窗口。不要因为某一当前行的框架没有行就改动本来合法的框架。如果该 \u003ccode\u003eERROR\u003c/code\u003e 发生在显式事务中，重试前先执行 \u003ccode\u003eROLLBACK\u003c/code\u003e，或回滚到语句前建立的保存点；自动提交模式下，失败语句返回空闲后即可提交修正查询。\u003c/p\u003e\n\u003ch2\u003e消息 {#messages}\u003c/h2\u003e\n\u003cp\u003e固定源码中的代表性消息包括：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003ewindow function calls cannot be nested\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003eframe start cannot be UNBOUNDED FOLLOWING\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003eframe starting from following row cannot end with current row\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003eframe end cannot be UNBOUNDED PRECEDING\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003eframe starting from current row cannot have preceding rows\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003eframe starting from following row cannot have preceding rows\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003ewindow functions are not allowed in %s\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003ewindow \u0026#34;%s\u0026#34; is already defined\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003ecannot override PARTITION BY clause of window \u0026#34;%s\u0026#34;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003ecannot override ORDER BY clause of window \u0026#34;%s\u0026#34;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003ecannot copy window \u0026#34;%s\u0026#34; because it has a frame clause\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003ecannot copy window \u0026#34;%s\u0026#34; because it has a frame clause\u003c/code\u003e; HINT: \u003ccode\u003eOmit the parentheses in this OVER clause.\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003eRANGE with offset PRECEDING/FOLLOWING requires exactly one ORDER BY column\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003eGROUPS mode requires an ORDER BY clause\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e占位符由实际对象、列或参数填充。\u003c/p\u003e\n\u003ch2\u003e版本 {#versions}\u003c/h2\u003e\n\u003cp\u003e锁定目录显示该条件最早见于 PostgreSQL 8.4.0；行为说明固定在 PostgreSQL 18.6 源码，目录存在范围不等于每条消息或功能都从该版本开始。\u003c/p\u003e\n\u003ch2\u003e相关 {#related}\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"/wiki/sqlstate/42P19/\" rel=\"nofollow\"\u003e\u003ccode\u003e42P19\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"/wiki/sqlstate/42803/\" rel=\"nofollow\"\u003e\u003ccode\u003e42803\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e来源 {#sources}\u003c/h2\u003e\n\u003cp\u003e源码消息、行号和证据边界见 \u003ca href=\"#sources\" rel=\"nofollow\"\u003e作者证据\u003c/a\u003e。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esrc/backend/executor/execExpr.c:1155-1157\u003c/code\u003e (\u003ca href=\"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/executor/execExpr.c#L1155\" rel=\"nofollow\"\u003efixed source\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esrc/backend/parser/gram.y:16499-16544\u003c/code\u003e (\u003ca href=\"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/parser/gram.y#L16499\" rel=\"nofollow\"\u003efixed source\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esrc/backend/parser/parse_agg.c:1041-1046\u003c/code\u003e (\u003ca href=\"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/parser/parse_agg.c#L1041\" rel=\"nofollow\"\u003efixed source\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esrc/backend/parser/parse_clause.c:2790-2947\u003c/code\u003e (\u003ca href=\"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/parser/parse_clause.c#L2790\" rel=\"nofollow\"\u003efixed source\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esrc/backend/executor/nodeWindowAgg.c:2139-2210\u003c/code\u003e (\u003ca href=\"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/executor/nodeWindowAgg.c#L2139\" rel=\"nofollow\"\u003efixed source\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n","SourceRevision":"english-manuals:0695f162fb91bad071c70775f2f11312b71e50d33f23019c64084f9253e94cb3","ContentHash":"17ebe134efe834fd6b77925f9eef4c353e799fd5c0d5da9fcf960518b008e6d5","Payload":{"body_md":"# 42P20 — 窗口函数错误\n\n## 速览 {#at-a-glance}\n\n`42P20`（**windowing_error**）窗口定义同时约束函数调用和框架边界。\n\n\n## 含义 {#meaning}\n\n固定核心在窗口函数放置或嵌套错误，以及窗口定义结构无效时使用 `42P20`。解析器语法拒绝不可能的框架起止组合；解析分析拒绝在不能包含窗口函数的子句中使用窗口函数，或把一个窗口函数放入另一个窗口函数；命名窗口转换则拒绝冲突的继承方式。合法框架对某一行仍可能为空，所以结果为空本身不是 `42P20` 信号。\n\n## 诊断 {#diagnosis}\n\n先按 primary 消息分类，再改 SQL。框架消息指向 `UNBOUNDED` 方向或起止顺序；带 offset 的 `RANGE` 必须有且只有一个 `ORDER BY` 列，`GROUPS` 必须有 `ORDER BY`。放置消息会指出 `WHERE`、`GROUP BY`、`JOIN`、`RETURNING` 或窗口定义等子句；嵌套调用消息表示一个窗口表达式出现在另一个窗口表达式内部。命名窗口消息分别表示重复定义、覆盖所复制窗口的 `PARTITION BY` 或 `ORDER BY`，以及复制已经带框架的窗口；因此 `OVER foo` 与 `OVER (foo)` 的继承行为不同。执行器会把负的 `ROWS` 或 `GROUPS` 框架 offset 报为 SQLSTATE `22013`（`invalid_preceding_or_following_size`），把 NULL offset 报为 `22004`；这些不是 `42P20`。\n\n## 处理 {#response}\n\n把嵌套计算移到外层查询，或把窗口表达式移出消息指出的命名子句。只修复对应的框架语法，为 `RANGE`/`GROUPS` 补上所需排序，并定义一个没有冲突覆盖的命名窗口。不要因为某一当前行的框架没有行就改动本来合法的框架。如果该 `ERROR` 发生在显式事务中，重试前先执行 `ROLLBACK`，或回滚到语句前建立的保存点；自动提交模式下，失败语句返回空闲后即可提交修正查询。\n\n## 消息 {#messages}\n\n固定源码中的代表性消息包括：\n\n- **ERROR** message: `window function calls cannot be nested`\n- **ERROR** message: `frame start cannot be UNBOUNDED FOLLOWING`\n- **ERROR** message: `frame starting from following row cannot end with current row`\n- **ERROR** message: `frame end cannot be UNBOUNDED PRECEDING`\n- **ERROR** message: `frame starting from current row cannot have preceding rows`\n- **ERROR** message: `frame starting from following row cannot have preceding rows`\n- **ERROR** message: `window functions are not allowed in %s`\n- **ERROR** message: `window \"%s\" is already defined`\n- **ERROR** message: `cannot override PARTITION BY clause of window \"%s\"`\n- **ERROR** message: `cannot override ORDER BY clause of window \"%s\"`\n- **ERROR** message: `cannot copy window \"%s\" because it has a frame clause`\n- **ERROR** message: `cannot copy window \"%s\" because it has a frame clause`; HINT: `Omit the parentheses in this OVER clause.`\n- **ERROR** message: `RANGE with offset PRECEDING/FOLLOWING requires exactly one ORDER BY column`\n- **ERROR** message: `GROUPS mode requires an ORDER BY clause`\n\n占位符由实际对象、列或参数填充。\n\n## 版本 {#versions}\n\n锁定目录显示该条件最早见于 PostgreSQL 8.4.0；行为说明固定在 PostgreSQL 18.6 源码，目录存在范围不等于每条消息或功能都从该版本开始。\n\n## 相关 {#related}\n\n- [`42P19`](/wiki/sqlstate/42P19/)\n- [`42803`](/wiki/sqlstate/42803/)\n\n## 来源 {#sources}\n\n源码消息、行号和证据边界见 [作者证据](#sources)。\n\n- `src/backend/executor/execExpr.c:1155-1157` ([fixed source](https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/executor/execExpr.c#L1155))\n- `src/backend/parser/gram.y:16499-16544` ([fixed source](https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/parser/gram.y#L16499))\n- `src/backend/parser/parse_agg.c:1041-1046` ([fixed source](https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/parser/parse_agg.c#L1041))\n- `src/backend/parser/parse_clause.c:2790-2947` ([fixed source](https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/parser/parse_clause.c#L2790))\n- `src/backend/executor/nodeWindowAgg.c:2139-2210` ([fixed source](https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/executor/nodeWindowAgg.c#L2139))\n","description":"PostgreSQL SQLSTATE 42P20：来源与诊断参考。","is_stale":false,"name":"窗口函数错误","sections":[{"anchor":"","heading":"","html":"\u0026lt;h1\u0026gt;42P20 — 窗口函数错误\u0026lt;/h1\u0026gt;"},{"anchor":"at-a-glance","heading":"速览","html":"\u003cp\u003e\u003ccode\u003e42P20\u003c/code\u003e（\u003cstrong\u003ewindowing_error\u003c/strong\u003e）窗口定义同时约束函数调用和框架边界。\u003c/p\u003e"},{"anchor":"meaning","heading":"含义","html":"\u003cp\u003e固定核心在窗口函数放置或嵌套错误，以及窗口定义结构无效时使用 \u003ccode\u003e42P20\u003c/code\u003e。解析器语法拒绝不可能的框架起止组合；解析分析拒绝在不能包含窗口函数的子句中使用窗口函数，或把一个窗口函数放入另一个窗口函数；命名窗口转换则拒绝冲突的继承方式。合法框架对某一行仍可能为空，所以结果为空本身不是 \u003ccode\u003e42P20\u003c/code\u003e 信号。\u003c/p\u003e"},{"anchor":"diagnosis","heading":"诊断","html":"\u003cp\u003e先按 primary 消息分类，再改 SQL。框架消息指向 \u003ccode\u003eUNBOUNDED\u003c/code\u003e 方向或起止顺序；带 offset 的 \u003ccode\u003eRANGE\u003c/code\u003e 必须有且只有一个 \u003ccode\u003eORDER BY\u003c/code\u003e 列，\u003ccode\u003eGROUPS\u003c/code\u003e 必须有 \u003ccode\u003eORDER BY\u003c/code\u003e。放置消息会指出 \u003ccode\u003eWHERE\u003c/code\u003e、\u003ccode\u003eGROUP BY\u003c/code\u003e、\u003ccode\u003eJOIN\u003c/code\u003e、\u003ccode\u003eRETURNING\u003c/code\u003e 或窗口定义等子句；嵌套调用消息表示一个窗口表达式出现在另一个窗口表达式内部。命名窗口消息分别表示重复定义、覆盖所复制窗口的 \u003ccode\u003ePARTITION BY\u003c/code\u003e 或 \u003ccode\u003eORDER BY\u003c/code\u003e，以及复制已经带框架的窗口；因此 \u003ccode\u003eOVER foo\u003c/code\u003e 与 \u003ccode\u003eOVER (foo)\u003c/code\u003e 的继承行为不同。执行器会把负的 \u003ccode\u003eROWS\u003c/code\u003e 或 \u003ccode\u003eGROUPS\u003c/code\u003e 框架 offset 报为 SQLSTATE \u003ccode\u003e22013\u003c/code\u003e（\u003ccode\u003einvalid_preceding_or_following_size\u003c/code\u003e），把 NULL offset 报为 \u003ccode\u003e22004\u003c/code\u003e；这些不是 \u003ccode\u003e42P20\u003c/code\u003e。\u003c/p\u003e"},{"anchor":"response","heading":"处理","html":"\u003cp\u003e把嵌套计算移到外层查询，或把窗口表达式移出消息指出的命名子句。只修复对应的框架语法，为 \u003ccode\u003eRANGE\u003c/code\u003e/\u003ccode\u003eGROUPS\u003c/code\u003e 补上所需排序，并定义一个没有冲突覆盖的命名窗口。不要因为某一当前行的框架没有行就改动本来合法的框架。如果该 \u003ccode\u003eERROR\u003c/code\u003e 发生在显式事务中，重试前先执行 \u003ccode\u003eROLLBACK\u003c/code\u003e，或回滚到语句前建立的保存点；自动提交模式下，失败语句返回空闲后即可提交修正查询。\u003c/p\u003e"},{"anchor":"messages","heading":"消息","html":"\u003cp\u003e固定源码中的代表性消息包括：\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003ewindow function calls cannot be nested\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003eframe start cannot be UNBOUNDED FOLLOWING\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003eframe starting from following row cannot end with current row\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003eframe end cannot be UNBOUNDED PRECEDING\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003eframe starting from current row cannot have preceding rows\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003eframe starting from following row cannot have preceding rows\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003ewindow functions are not allowed in %s\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003ewindow \"%s\" is already defined\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003ecannot override PARTITION BY clause of window \"%s\"\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003ecannot override ORDER BY clause of window \"%s\"\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003ecannot copy window \"%s\" because it has a frame clause\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003ecannot copy window \"%s\" because it has a frame clause\u003c/code\u003e; HINT: \u003ccode\u003eOmit the parentheses in this OVER clause.\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003eRANGE with offset PRECEDING/FOLLOWING requires exactly one ORDER BY column\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eERROR\u003c/strong\u003e message: \u003ccode\u003eGROUPS mode requires an ORDER BY clause\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e占位符由实际对象、列或参数填充。\u003c/p\u003e"},{"anchor":"versions","heading":"版本","html":"\u003cp\u003e锁定目录显示该条件最早见于 PostgreSQL 8.4.0；行为说明固定在 PostgreSQL 18.6 源码，目录存在范围不等于每条消息或功能都从该版本开始。\u003c/p\u003e"},{"anchor":"related","heading":"相关","html":"\u003cul\u003e\n\u003cli\u003e\u003ca href=\"/wiki/sqlstate/42P19/\"\u003e\u003ccode\u003e42P19\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"/wiki/sqlstate/42803/\"\u003e\u003ccode\u003e42803\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e"},{"anchor":"sources","heading":"来源","html":"\u003cp\u003e源码消息、行号和证据边界见 \u003ca href=\"#sources\"\u003e作者证据\u003c/a\u003e。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003esrc/backend/executor/execExpr.c:1155-1157\u003c/code\u003e (\u003ca href=\"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/executor/execExpr.c#L1155\"\u003efixed source\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esrc/backend/parser/gram.y:16499-16544\u003c/code\u003e (\u003ca href=\"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/parser/gram.y#L16499\"\u003efixed source\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esrc/backend/parser/parse_agg.c:1041-1046\u003c/code\u003e (\u003ca href=\"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/parser/parse_agg.c#L1041\"\u003efixed source\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esrc/backend/parser/parse_clause.c:2790-2947\u003c/code\u003e (\u003ca href=\"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/parser/parse_clause.c#L2790\"\u003efixed source\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esrc/backend/executor/nodeWindowAgg.c:2139-2210\u003c/code\u003e (\u003ca href=\"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/executor/nodeWindowAgg.c#L2139\"\u003efixed source\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e"}],"summary":"窗口函数调用或框架边界定义不合法。","title":"42P20 — 窗口函数错误","translation_source_rev":"b2d02102d6c4c518725c287149895360db9e5e65d913832811e13e85642cacbc"}},"RequestedLocale":"zh-Hans","Fallback":false,"Versions":["10","11","12","13","14","15","16","17","18","19","20","8.4","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":"8.4.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":"present","preview_scope":["19beta3"]},"class":"42","class_name":"Syntax Error or Access Rule Violation","condition_name":"windowing_error","condition_names":["windowing_error"],"definition_changes":[],"english_manuals":{"10":{"aliases":[],"class_name":"Syntax Error or Access Rule Violation","condition_name":"windowing_error","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"9607b57e9f639b61785677ba4d226f5889fe1d19c8bf55a3337691899a9073cd","slug":"10"},"lang":"en","sqlstate":"42P20"},"11":{"aliases":[],"class_name":"Syntax Error or Access Rule Violation","condition_name":"windowing_error","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"3a024e38263ad77de228eed7930b842b42dc1d5cab9ca3727be8eed872ec9539","slug":"11"},"lang":"en","sqlstate":"42P20"},"12":{"aliases":[],"class_name":"Syntax Error or Access Rule Violation","condition_name":"windowing_error","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"1444bd6a138537cd75be88a220ee9472ac528f0cfc58758e49636d85455efe98","slug":"12"},"lang":"en","sqlstate":"42P20"},"13":{"aliases":[],"class_name":"Syntax Error or Access Rule Violation","condition_name":"windowing_error","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"4a3ef8af218e5736dfde8660ba609e84233b6b3bac7e0210ff8724cf1b27b2db","slug":"13"},"lang":"en","sqlstate":"42P20"},"14":{"aliases":[],"class_name":"Syntax Error or Access Rule Violation","condition_name":"windowing_error","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"1c12e83304e0f4ff64c9d98ca5e3007df6756932ed19867a4fa0e0650f6c5751","slug":"14"},"lang":"en","sqlstate":"42P20"},"15":{"aliases":[],"class_name":"Syntax Error or Access Rule Violation","condition_name":"windowing_error","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"2161f58f6e87f6535b3b1f3d4661427bb6765f4f6b074fcc16fac97594b50599","slug":"15"},"lang":"en","sqlstate":"42P20"},"16":{"aliases":[],"class_name":"Syntax Error or Access Rule Violation","condition_name":"windowing_error","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"928e705933d7c3d018ae3fba9d800b34e6325746d157339dce878473c519d100","slug":"16"},"lang":"en","sqlstate":"42P20"},"17":{"aliases":[],"class_name":"Syntax Error or Access Rule Violation","condition_name":"windowing_error","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"868135520af87351e3ea1ba42656111cbd2d157d98e1fef05ea158ac5729d8b1","slug":"17"},"lang":"en","sqlstate":"42P20"},"18":{"aliases":[],"class_name":"Syntax Error or Access Rule Violation","condition_name":"windowing_error","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"56dacf78e618ff0fd8c533e05db597b80d7ebbad7f8e512a888217d0640aa328","slug":"18"},"lang":"en","sqlstate":"42P20"},"19":{"aliases":[],"class_name":"Syntax Error or Access Rule Violation","condition_name":"windowing_error","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"63fb8d1aa9f494eeab9d0f8542a2b673f7746ee41ae2689d19403cb3cc425a5c","slug":"19"},"lang":"en","sqlstate":"42P20"},"20":{"aliases":[],"class_name":"Syntax Error or Access Rule Violation","condition_name":"windowing_error","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"0d3f602127cd137cf343b32d5fa78f175eeb6cdcb6353b1f6f998ede6cb7b911","slug":"devel"},"lang":"en","sqlstate":"42P20"},"8.4":{"aliases":[],"class_name":"Syntax Error or Access Rule Violation","condition_name":"windowing_error","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"d63b10001be0581484022e33b78124a36bb3bd68d3ebe022cd7dfb375233432f","slug":"8.4"},"lang":"en","sqlstate":"42P20"},"9.0":{"aliases":[],"class_name":"Syntax Error or Access Rule Violation","condition_name":"windowing_error","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"658fc09c4c10eed7ac7dea4ed3e3eff8cc5791eb5af26b7b4a31b0f863b316db","slug":"9.0"},"lang":"en","sqlstate":"42P20"},"9.1":{"aliases":[],"class_name":"Syntax Error or Access Rule Violation","condition_name":"windowing_error","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"2d118b06c3b644c28b3ddefe9e4bef99a180321582209332372a5318f5bf8d1c","slug":"9.1"},"lang":"en","sqlstate":"42P20"},"9.2":{"aliases":[],"class_name":"Syntax Error or Access Rule Violation","condition_name":"windowing_error","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"2a37575b39c858d37c58fc4de6a16109554fd3306602294180d78faa1170d2cd","slug":"9.2"},"lang":"en","sqlstate":"42P20"},"9.3":{"aliases":[],"class_name":"Syntax Error or Access Rule Violation","condition_name":"windowing_error","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"2214b6869d764f7fba7221aefcdf1ab049b55ad51d63aa52054f3cd2c2533ae9","slug":"9.3"},"lang":"en","sqlstate":"42P20"},"9.4":{"aliases":[],"class_name":"Syntax Error or Access Rule Violation","condition_name":"windowing_error","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"7243e2d653befe88733222ede67958f0c4b7fae967b58eb97807aeb3f32b4096","slug":"9.4"},"lang":"en","sqlstate":"42P20"},"9.5":{"aliases":[],"class_name":"Syntax Error or Access Rule Violation","condition_name":"windowing_error","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"d40bc67cb331f1e4ccc0821ff57832c6c230edb0dce3ba4249defd21ae7ea29d","slug":"9.5"},"lang":"en","sqlstate":"42P20"},"9.6":{"aliases":[],"class_name":"Syntax Error or Access Rule Violation","condition_name":"windowing_error","doc":{"anchor":"ERRCODES-APPENDIX","file":"errcodes-appendix.html","lang":"en","sha256":"2ab55e487571c8998ec39b3d1bbae29ac6fc5c310875bee422d9a7b8b3fde5b3","slug":"9.6"},"lang":"en","sqlstate":"42P20"}},"history_boundary":{"earliest_observed":"8.4.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":"8.4.0","known_lower_bound":"8.4.0 or earlier","last_observed":"8.4.22","notes":"Observed in the locked pre-9 formal release source; the label is a proven presence bound, not an exact introduction commit. Candidate source gaps remain for majors 7.0, 7.1, 7.2, 7.3.","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":"8.4.0","macros":["ERRCODE_WINDOWING_ERROR"],"manual_presence":["8.4","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":"8.4.0","pre9_introduction_boundary":null,"pre9_last_observed":"8.4.22","pre9_presence_intervals":[{"end":"8.4.22","end_major":"8.4","end_tag":"REL8_4_22","evidence_count":23,"position":0,"start":"8.4.0","start_major":"8.4","start_tag":"REL8_4_0"}],"pre9_status":"present","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_WINDOWING_ERROR","removed":null,"schema_version":2,"severity_classes":["E"],"sources":[{"channel":"formal","code_count":0,"commit":"4d53a2f9699547bdc12831d2860c9d44c465e805","id":"postgresql:REL8_4_0:src/include/utils/errcodes.h","major":"8.4","path":"src/include/utils/errcodes.h","raw_path":".cache/catalogue/pre9/raw/definition/REL8_4_0.h","raw_url":"https://raw.githubusercontent.com/postgres/postgres/4d53a2f9699547bdc12831d2860c9d44c465e805/src/include/utils/errcodes.h","record_count":0,"release":"8.4.0","repository":"https://github.com/postgres/postgres.git","sha256":"b1a08b6c8e85631fe7a849d531841247a641bb799bca739c929a78e6702d3ab4","size":21169,"source_format":"errcodes.h","source_role":"primary_definition","tag":"REL8_4_0","url":"https://github.com/postgres/postgres/blob/4d53a2f9699547bdc12831d2860c9d44c465e805/src/include/utils/errcodes.h","version":"8.4.0"},{"channel":"formal","code_count":0,"commit":"8dd387500abe58a684c559f20c26ac08884b0c5d","id":"postgresql:REL8_4_22:src/include/utils/errcodes.h","major":"8.4","path":"src/include/utils/errcodes.h","raw_path":".cache/catalogue/pre9/raw/definition/REL8_4_22.h","raw_url":"https://raw.githubusercontent.com/postgres/postgres/8dd387500abe58a684c559f20c26ac08884b0c5d/src/include/utils/errcodes.h","record_count":0,"release":"8.4.22","repository":"https://github.com/postgres/postgres.git","sha256":"43fd9924243ff5bb5f51b5e7a5e5d8a011458beb5bb669b1d5b6122dac515936","size":21170,"source_format":"errcodes.h","source_role":"primary_definition","tag":"REL8_4_22","url":"https://github.com/postgres/postgres/blob/8dd387500abe58a684c559f20c26ac08884b0c5d/src/include/utils/errcodes.h","version":"8.4.22"},{"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":"42P20","status":"active","usage_evidence":[{"evidence_ids":["postgresql:REL8_4_0:src/include/utils/errcodes.h","postgresql:REL8_4_10:src/include/utils/errcodes.h","postgresql:REL8_4_11:src/include/utils/errcodes.h","postgresql:REL8_4_12:src/include/utils/errcodes.h","postgresql:REL8_4_13:src/include/utils/errcodes.h","postgresql:REL8_4_14:src/include/utils/errcodes.h","postgresql:REL8_4_15:src/include/utils/errcodes.h","postgresql:REL8_4_16:src/include/utils/errcodes.h","postgresql:REL8_4_17:src/include/utils/errcodes.h","postgresql:REL8_4_18:src/include/utils/errcodes.h","postgresql:REL8_4_19:src/include/utils/errcodes.h","postgresql:REL8_4_1:src/include/utils/errcodes.h","postgresql:REL8_4_20:src/include/utils/errcodes.h","postgresql:REL8_4_21:src/include/utils/errcodes.h","postgresql:REL8_4_22:src/include/utils/errcodes.h","postgresql:REL8_4_2:src/include/utils/errcodes.h","postgresql:REL8_4_3:src/include/utils/errcodes.h","postgresql:REL8_4_4:src/include/utils/errcodes.h","postgresql:REL8_4_5:src/include/utils/errcodes.h","postgresql:REL8_4_6:src/include/utils/errcodes.h","postgresql:REL8_4_7:src/include/utils/errcodes.h","postgresql:REL8_4_8:src/include/utils/errcodes.h","postgresql:REL8_4_9:src/include/utils/errcodes.h","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":["postgresql:REL8_4_0:src/include/utils/errcodes.h","postgresql:REL8_4_10:src/include/utils/errcodes.h","postgresql:REL8_4_11:src/include/utils/errcodes.h","postgresql:REL8_4_12:src/include/utils/errcodes.h","postgresql:REL8_4_13:src/include/utils/errcodes.h","postgresql:REL8_4_14:src/include/utils/errcodes.h","postgresql:REL8_4_15:src/include/utils/errcodes.h","postgresql:REL8_4_16:src/include/utils/errcodes.h","postgresql:REL8_4_17:src/include/utils/errcodes.h","postgresql:REL8_4_18:src/include/utils/errcodes.h","postgresql:REL8_4_19:src/include/utils/errcodes.h","postgresql:REL8_4_1:src/include/utils/errcodes.h","postgresql:REL8_4_20:src/include/utils/errcodes.h","postgresql:REL8_4_21:src/include/utils/errcodes.h","postgresql:REL8_4_22:src/include/utils/errcodes.h","postgresql:REL8_4_2:src/include/utils/errcodes.h","postgresql:REL8_4_3:src/include/utils/errcodes.h","postgresql:REL8_4_4:src/include/utils/errcodes.h","postgresql:REL8_4_5:src/include/utils/errcodes.h","postgresql:REL8_4_6:src/include/utils/errcodes.h","postgresql:REL8_4_7:src/include/utils/errcodes.h","postgresql:REL8_4_8:src/include/utils/errcodes.h","postgresql:REL8_4_9:src/include/utils/errcodes.h"],"notes":"The old definition path and same-tag documentation were locked for the observed 7.4..8.4 tags; this is a definition presence bound, not a runtime path or precise introducing commit.","scope":"pre9-definition-history","status":"definition_only"}]},"Evidence":[{"Kind":"claims","Ordinal":0,"ID":"identity.class-and-condition","ServerVersion":null,"Status":null,"Payload":{"claim_id":"identity.class-and-condition","limits":"Identity does not enumerate all source branches or client failures.","method":"Read fixed REL_18_6 errcodes.txt and locked facts.","position":0,"runtime":[],"sources":["src.errcodes.42P20.18.6"],"statement":"42P20 is the windowing_error condition in Class 42."}},{"Kind":"claims","Ordinal":1,"ID":"mechanism.selected-source-path","ServerVersion":null,"Status":null,"Payload":{"claim_id":"mechanism.selected-source-path","limits":"Representative confirmed core paths only; not exhaustive historical or extension coverage. A legal frame can still evaluate to no rows for a particular row.","method":"Read complete fixed-source contexts around the selected report groups and the frame-offset executor guard.","position":1,"runtime":[],"sources":["src.call.42P20.17809e6b7f525d4ed41961ed","src.call.42P20.5670c88a2f3e05b693257e49","src.call.42P20.ed2f8bce483ee7cc9c9ff7e0","src.call.42P20.af44057d6b02e78ceb659ea3","src.call.42P20.05acd1c626dd243023930f4b","src.call.42P20.2b557a2b5c702ff1eeb57eaa","src.call.42P20.fde5045d9190c4d041b74444","src.call.42P20.4d72e034c551705933ff1342","src.call.42P20.0221c1569253594c6c3f8117","src.call.42P20.ae80656ed795057fab150a08","src.call.42P20.51b9fa13c98768648a42bec3","src.call.42P20.879f1f1e1a0b390154b2b059","src.call.42P20.faf4767dd0e2b75c0c2f5763","src.call.42P20.745a6ce52598aa006a4c0b9d","src.context.42P20.nodeWindowAgg"],"statement":"Selected fixed 18.6 parser, parse-analysis, named-window, and executor paths reject invalid frame bounds, forbidden window placement or nesting, and illegal window inheritance. The parser also guards RANGE offset and GROUPS structural requirements."}},{"Kind":"claims","Ordinal":2,"ID":"boundary.negative-offset-code","ServerVersion":null,"Status":null,"Payload":{"claim_id":"boundary.negative-offset-code","limits":"Boundary only; no natural runtime execution is claimed.","method":"Read nodeWindowAgg.c calculate_frame_offsets and the fixed error-code catalogue.","position":2,"runtime":[],"sources":["src.context.42P20.nodeWindowAgg"],"statement":"The 18.6 executor assigns negative ROWS or GROUPS frame offsets to 22013 invalid_preceding_or_following_size and NULL frame offsets to 22004 null_value_not_allowed; these boundaries are separate from 42P20."}},{"Kind":"claims","Ordinal":3,"ID":"versions.catalogue-boundary","ServerVersion":null,"Status":null,"Payload":{"claim_id":"versions.catalogue-boundary","limits":"First observed release is a lower bound, not precise behavioral introduction.","method":"Read locked catalogue facts and definition snapshot.","position":3,"runtime":[],"sources":["src.errcodes.42P20.18.6"],"statement":"Locked catalogue snapshots show this condition by PostgreSQL 8.4.0; source behavior here is fixed at PostgreSQL 18.6."}},{"Kind":"messages","Ordinal":0,"ID":"message.variant-1","ServerVersion":null,"Status":null,"Payload":{"limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","message_id":"message.variant-1","path":"","position":0,"raw":{"detail_templates":[],"hint_templates":[],"id":"message.variant-1","limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","primary_template":"window function calls cannot be nested","roles":[{"role":"errmsg","template":"window function calls cannot be nested"}],"severity_source":"ERROR","sources":["src.call.42P20.17809e6b7f525d4ed41961ed"],"sqlstate":"42P20"},"severity":"ERROR","sources":["src.call.42P20.17809e6b7f525d4ed41961ed"],"templates":[{"kind":"primary","literal":"window function calls cannot be nested","position":0,"role":"","template":"window function calls cannot be nested"}]}},{"Kind":"messages","Ordinal":1,"ID":"message.variant-2","ServerVersion":null,"Status":null,"Payload":{"limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","message_id":"message.variant-2","path":"","position":1,"raw":{"detail_templates":[],"hint_templates":[],"id":"message.variant-2","limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","primary_template":"frame start cannot be UNBOUNDED FOLLOWING","roles":[{"role":"errmsg","template":"frame start cannot be UNBOUNDED FOLLOWING"}],"severity_source":"ERROR","sources":["src.call.42P20.5670c88a2f3e05b693257e49"],"sqlstate":"42P20"},"severity":"ERROR","sources":["src.call.42P20.5670c88a2f3e05b693257e49"],"templates":[{"kind":"primary","literal":"frame start cannot be UNBOUNDED FOLLOWING","position":0,"role":"","template":"frame start cannot be UNBOUNDED FOLLOWING"}]}},{"Kind":"messages","Ordinal":2,"ID":"message.variant-3","ServerVersion":null,"Status":null,"Payload":{"limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","message_id":"message.variant-3","path":"","position":2,"raw":{"detail_templates":[],"hint_templates":[],"id":"message.variant-3","limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","primary_template":"frame starting from following row cannot end with current row","roles":[{"role":"errmsg","template":"frame starting from following row cannot end with current row"}],"severity_source":"ERROR","sources":["src.call.42P20.ed2f8bce483ee7cc9c9ff7e0"],"sqlstate":"42P20"},"severity":"ERROR","sources":["src.call.42P20.ed2f8bce483ee7cc9c9ff7e0"],"templates":[{"kind":"primary","literal":"frame starting from following row cannot end with current row","position":0,"role":"","template":"frame starting from following row cannot end with current row"}]}},{"Kind":"messages","Ordinal":3,"ID":"message.variant-4","ServerVersion":null,"Status":null,"Payload":{"limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","message_id":"message.variant-4","path":"","position":3,"raw":{"detail_templates":[],"hint_templates":[],"id":"message.variant-4","limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","primary_template":"frame end cannot be UNBOUNDED PRECEDING","roles":[{"role":"errmsg","template":"frame end cannot be UNBOUNDED PRECEDING"}],"severity_source":"ERROR","sources":["src.call.42P20.af44057d6b02e78ceb659ea3"],"sqlstate":"42P20"},"severity":"ERROR","sources":["src.call.42P20.af44057d6b02e78ceb659ea3"],"templates":[{"kind":"primary","literal":"frame end cannot be UNBOUNDED PRECEDING","position":0,"role":"","template":"frame end cannot be UNBOUNDED PRECEDING"}]}},{"Kind":"messages","Ordinal":4,"ID":"message.variant-5","ServerVersion":null,"Status":null,"Payload":{"limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","message_id":"message.variant-5","path":"","position":4,"raw":{"detail_templates":[],"hint_templates":[],"id":"message.variant-5","limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","primary_template":"frame starting from current row cannot have preceding rows","roles":[{"role":"errmsg","template":"frame starting from current row cannot have preceding rows"}],"severity_source":"ERROR","sources":["src.call.42P20.05acd1c626dd243023930f4b"],"sqlstate":"42P20"},"severity":"ERROR","sources":["src.call.42P20.05acd1c626dd243023930f4b"],"templates":[{"kind":"primary","literal":"frame starting from current row cannot have preceding rows","position":0,"role":"","template":"frame starting from current row cannot have preceding rows"}]}},{"Kind":"messages","Ordinal":5,"ID":"message.variant-6","ServerVersion":null,"Status":null,"Payload":{"limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","message_id":"message.variant-6","path":"","position":5,"raw":{"detail_templates":[],"hint_templates":[],"id":"message.variant-6","limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","primary_template":"frame starting from following row cannot have preceding rows","roles":[{"role":"errmsg","template":"frame starting from following row cannot have preceding rows"}],"severity_source":"ERROR","sources":["src.call.42P20.2b557a2b5c702ff1eeb57eaa"],"sqlstate":"42P20"},"severity":"ERROR","sources":["src.call.42P20.2b557a2b5c702ff1eeb57eaa"],"templates":[{"kind":"primary","literal":"frame starting from following row cannot have preceding rows","position":0,"role":"","template":"frame starting from following row cannot have preceding rows"}]}},{"Kind":"messages","Ordinal":6,"ID":"message.variant-7","ServerVersion":null,"Status":null,"Payload":{"limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","message_id":"message.variant-7","path":"","position":6,"raw":{"detail_templates":[],"hint_templates":[],"id":"message.variant-7","limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","primary_template":"window functions are not allowed in %s","roles":[{"role":"errmsg","template":"window functions are not allowed in %s"}],"severity_source":"ERROR","sources":["src.call.42P20.fde5045d9190c4d041b74444"],"sqlstate":"42P20"},"severity":"ERROR","sources":["src.call.42P20.fde5045d9190c4d041b74444"],"templates":[{"kind":"primary","literal":"window functions are not allowed in","position":0,"role":"","template":"window functions are not allowed in %s"}]}},{"Kind":"messages","Ordinal":7,"ID":"message.variant-8","ServerVersion":null,"Status":null,"Payload":{"limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","message_id":"message.variant-8","path":"","position":7,"raw":{"detail_templates":[],"hint_templates":[],"id":"message.variant-8","limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","primary_template":"window \"%s\" is already defined","roles":[{"role":"errmsg","template":"window \"%s\" is already defined"}],"severity_source":"ERROR","sources":["src.call.42P20.4d72e034c551705933ff1342"],"sqlstate":"42P20"},"severity":"ERROR","sources":["src.call.42P20.4d72e034c551705933ff1342"],"templates":[{"kind":"primary","literal":"window \" \" is already defined","position":0,"role":"","template":"window \"%s\" is already defined"}]}},{"Kind":"messages","Ordinal":8,"ID":"message.variant-9","ServerVersion":null,"Status":null,"Payload":{"limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","message_id":"message.variant-9","path":"","position":8,"raw":{"detail_templates":[],"hint_templates":[],"id":"message.variant-9","limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","primary_template":"cannot override PARTITION BY clause of window \"%s\"","roles":[{"role":"errmsg","template":"cannot override PARTITION BY clause of window \"%s\""}],"severity_source":"ERROR","sources":["src.call.42P20.0221c1569253594c6c3f8117"],"sqlstate":"42P20"},"severity":"ERROR","sources":["src.call.42P20.0221c1569253594c6c3f8117"],"templates":[{"kind":"primary","literal":"cannot override PARTITION BY clause of window \" \"","position":0,"role":"","template":"cannot override PARTITION BY clause of window \"%s\""}]}},{"Kind":"messages","Ordinal":9,"ID":"message.variant-10","ServerVersion":null,"Status":null,"Payload":{"limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","message_id":"message.variant-10","path":"","position":9,"raw":{"detail_templates":[],"hint_templates":[],"id":"message.variant-10","limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","primary_template":"cannot override ORDER BY clause of window \"%s\"","roles":[{"role":"errmsg","template":"cannot override ORDER BY clause of window \"%s\""}],"severity_source":"ERROR","sources":["src.call.42P20.ae80656ed795057fab150a08"],"sqlstate":"42P20"},"severity":"ERROR","sources":["src.call.42P20.ae80656ed795057fab150a08"],"templates":[{"kind":"primary","literal":"cannot override ORDER BY clause of window \" \"","position":0,"role":"","template":"cannot override ORDER BY clause of window \"%s\""}]}},{"Kind":"messages","Ordinal":10,"ID":"message.variant-11","ServerVersion":null,"Status":null,"Payload":{"limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","message_id":"message.variant-11","path":"","position":10,"raw":{"detail_templates":[],"hint_templates":[],"id":"message.variant-11","limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","primary_template":"cannot copy window \"%s\" because it has a frame clause","roles":[{"role":"errmsg","template":"cannot copy window \"%s\" because it has a frame clause"}],"severity_source":"ERROR","sources":["src.call.42P20.51b9fa13c98768648a42bec3"],"sqlstate":"42P20"},"severity":"ERROR","sources":["src.call.42P20.51b9fa13c98768648a42bec3"],"templates":[{"kind":"primary","literal":"cannot copy window \" \" because it has a frame clause","position":0,"role":"","template":"cannot copy window \"%s\" because it has a frame clause"}]}},{"Kind":"messages","Ordinal":11,"ID":"message.variant-12","ServerVersion":null,"Status":null,"Payload":{"limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","message_id":"message.variant-12","path":"","position":11,"raw":{"detail_templates":[],"hint_templates":["Omit the parentheses in this OVER clause."],"id":"message.variant-12","limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","primary_template":"cannot copy window \"%s\" because it has a frame clause","roles":[{"role":"errmsg","template":"cannot copy window \"%s\" because it has a frame clause"},{"role":"errhint","template":"Omit the parentheses in this OVER clause."}],"severity_source":"ERROR","sources":["src.call.42P20.879f1f1e1a0b390154b2b059"],"sqlstate":"42P20"},"severity":"ERROR","sources":["src.call.42P20.879f1f1e1a0b390154b2b059"],"templates":[{"kind":"primary","literal":"cannot copy window \" \" because it has a frame clause","position":0,"role":"","template":"cannot copy window \"%s\" because it has a frame clause"},{"kind":"hint","literal":"Omit the parentheses in this OVER clause.","position":1,"role":"","template":"Omit the parentheses in this OVER clause."},{"kind":"primary","literal":"Omit the parentheses in this OVER clause.","position":2,"role":"errhint","template":"Omit the parentheses in this OVER clause."}]}},{"Kind":"messages","Ordinal":12,"ID":"message.variant-13","ServerVersion":null,"Status":null,"Payload":{"limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","message_id":"message.variant-13","path":"","position":12,"raw":{"detail_templates":[],"hint_templates":[],"id":"message.variant-13","limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","primary_template":"RANGE with offset PRECEDING/FOLLOWING requires exactly one ORDER BY column","roles":[{"role":"errmsg","template":"RANGE with offset PRECEDING/FOLLOWING requires exactly one ORDER BY column"}],"severity_source":"ERROR","sources":["src.call.42P20.faf4767dd0e2b75c0c2f5763"],"sqlstate":"42P20"},"severity":"ERROR","sources":["src.call.42P20.faf4767dd0e2b75c0c2f5763"],"templates":[{"kind":"primary","literal":"RANGE with offset PRECEDING/FOLLOWING requires exactly one ORDER BY column","position":0,"role":"","template":"RANGE with offset PRECEDING/FOLLOWING requires exactly one ORDER BY column"}]}},{"Kind":"messages","Ordinal":13,"ID":"message.variant-14","ServerVersion":null,"Status":null,"Payload":{"limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","message_id":"message.variant-14","path":"","position":13,"raw":{"detail_templates":[],"hint_templates":[],"id":"message.variant-14","limits":"Placeholders remain dynamic source fields; no concrete runtime value is claimed.","primary_template":"GROUPS mode requires an ORDER BY clause","roles":[{"role":"errmsg","template":"GROUPS mode requires an ORDER BY clause"}],"severity_source":"ERROR","sources":["src.call.42P20.745a6ce52598aa006a4c0b9d"],"sqlstate":"42P20"},"severity":"ERROR","sources":["src.call.42P20.745a6ce52598aa006a4c0b9d"],"templates":[{"kind":"primary","literal":"GROUPS mode requires an ORDER BY clause","position":0,"role":"","template":"GROUPS mode requires an ORDER BY clause"}]}},{"Kind":"sources","Ordinal":0,"ID":"src.errcodes.42P20.18.6","ServerVersion":null,"Status":null,"Payload":{"commit":"724edf9bde9d356724ad384a2e196edc3c9f80f7","docs_url":"","kind":"upstream_source","location":"line 344","path":"src/backend/utils/errcodes.txt","position":0,"sha256":"6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba","source_id":"src.errcodes.42P20.18.6","tag":"REL_18_6","url":"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/utils/errcodes.txt#L344"}},{"Kind":"sources","Ordinal":1,"ID":"src.call.42P20.17809e6b7f525d4ed41961ed","ServerVersion":null,"Status":null,"Payload":{"commit":"724edf9bde9d356724ad384a2e196edc3c9f80f7","docs_url":"","kind":"upstream_source","location":"lines 1155-1157","path":"src/backend/executor/execExpr.c","position":1,"sha256":"9bc3aa2562686b1860005137de9611e56ff6b41eaf9b3eefd9c3f058dc057431","source_id":"src.call.42P20.17809e6b7f525d4ed41961ed","tag":"REL_18_6","url":"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/executor/execExpr.c#L1155-L1157"}},{"Kind":"sources","Ordinal":2,"ID":"src.call.42P20.5670c88a2f3e05b693257e49","ServerVersion":null,"Status":null,"Payload":{"commit":"724edf9bde9d356724ad384a2e196edc3c9f80f7","docs_url":"","kind":"upstream_source","location":"lines 16499-16502","path":"src/backend/parser/gram.y","position":2,"sha256":"7e548b673a1e03eb3a56c5eb9ad92d8e11095fac76e14cb258ca851f58274724","source_id":"src.call.42P20.5670c88a2f3e05b693257e49","tag":"REL_18_6","url":"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/parser/gram.y#L16499-L16502"}},{"Kind":"sources","Ordinal":3,"ID":"src.call.42P20.ed2f8bce483ee7cc9c9ff7e0","ServerVersion":null,"Status":null,"Payload":{"commit":"724edf9bde9d356724ad384a2e196edc3c9f80f7","docs_url":"","kind":"upstream_source","location":"lines 16504-16507","path":"src/backend/parser/gram.y","position":3,"sha256":"7e548b673a1e03eb3a56c5eb9ad92d8e11095fac76e14cb258ca851f58274724","source_id":"src.call.42P20.ed2f8bce483ee7cc9c9ff7e0","tag":"REL_18_6","url":"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/parser/gram.y#L16504-L16507"}},{"Kind":"sources","Ordinal":4,"ID":"src.call.42P20.af44057d6b02e78ceb659ea3","ServerVersion":null,"Status":null,"Payload":{"commit":"724edf9bde9d356724ad384a2e196edc3c9f80f7","docs_url":"","kind":"upstream_source","location":"lines 16528-16531","path":"src/backend/parser/gram.y","position":4,"sha256":"7e548b673a1e03eb3a56c5eb9ad92d8e11095fac76e14cb258ca851f58274724","source_id":"src.call.42P20.af44057d6b02e78ceb659ea3","tag":"REL_18_6","url":"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/parser/gram.y#L16528-L16531"}},{"Kind":"sources","Ordinal":5,"ID":"src.call.42P20.05acd1c626dd243023930f4b","ServerVersion":null,"Status":null,"Payload":{"commit":"724edf9bde9d356724ad384a2e196edc3c9f80f7","docs_url":"","kind":"upstream_source","location":"lines 16534-16537","path":"src/backend/parser/gram.y","position":5,"sha256":"7e548b673a1e03eb3a56c5eb9ad92d8e11095fac76e14cb258ca851f58274724","source_id":"src.call.42P20.05acd1c626dd243023930f4b","tag":"REL_18_6","url":"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/parser/gram.y#L16534-L16537"}},{"Kind":"sources","Ordinal":6,"ID":"src.call.42P20.2b557a2b5c702ff1eeb57eaa","ServerVersion":null,"Status":null,"Payload":{"commit":"724edf9bde9d356724ad384a2e196edc3c9f80f7","docs_url":"","kind":"upstream_source","location":"lines 16541-16544","path":"src/backend/parser/gram.y","position":6,"sha256":"7e548b673a1e03eb3a56c5eb9ad92d8e11095fac76e14cb258ca851f58274724","source_id":"src.call.42P20.2b557a2b5c702ff1eeb57eaa","tag":"REL_18_6","url":"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/parser/gram.y#L16541-L16544"}},{"Kind":"sources","Ordinal":7,"ID":"src.call.42P20.fde5045d9190c4d041b74444","ServerVersion":null,"Status":null,"Payload":{"commit":"724edf9bde9d356724ad384a2e196edc3c9f80f7","docs_url":"","kind":"upstream_source","location":"lines 1041-1046","path":"src/backend/parser/parse_agg.c","position":7,"sha256":"6e80a805fddbfc9c7e0f3047b348bf992a20c99f16ce7fee89c7067753027f72","source_id":"src.call.42P20.fde5045d9190c4d041b74444","tag":"REL_18_6","url":"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/parser/parse_agg.c#L1041-L1046"}},{"Kind":"sources","Ordinal":8,"ID":"src.call.42P20.4d72e034c551705933ff1342","ServerVersion":null,"Status":null,"Payload":{"commit":"724edf9bde9d356724ad384a2e196edc3c9f80f7","docs_url":"","kind":"upstream_source","location":"lines 2790-2793","path":"src/backend/parser/parse_clause.c","position":8,"sha256":"fd3fb69d6ea2ed0c220eba1d4479c0b79d8713b39a28c62cc4bf1428491e8ebd","source_id":"src.call.42P20.4d72e034c551705933ff1342","tag":"REL_18_6","url":"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/parser/parse_clause.c#L2790-L2793"}},{"Kind":"sources","Ordinal":9,"ID":"src.call.42P20.0221c1569253594c6c3f8117","ServerVersion":null,"Status":null,"Payload":{"commit":"724edf9bde9d356724ad384a2e196edc3c9f80f7","docs_url":"","kind":"upstream_source","location":"lines 2851-2855","path":"src/backend/parser/parse_clause.c","position":9,"sha256":"fd3fb69d6ea2ed0c220eba1d4479c0b79d8713b39a28c62cc4bf1428491e8ebd","source_id":"src.call.42P20.0221c1569253594c6c3f8117","tag":"REL_18_6","url":"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/parser/parse_clause.c#L2851-L2855"}},{"Kind":"sources","Ordinal":10,"ID":"src.call.42P20.ae80656ed795057fab150a08","ServerVersion":null,"Status":null,"Payload":{"commit":"724edf9bde9d356724ad384a2e196edc3c9f80f7","docs_url":"","kind":"upstream_source","location":"lines 2863-2867","path":"src/backend/parser/parse_clause.c","position":10,"sha256":"fd3fb69d6ea2ed0c220eba1d4479c0b79d8713b39a28c62cc4bf1428491e8ebd","source_id":"src.call.42P20.ae80656ed795057fab150a08","tag":"REL_18_6","url":"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/parser/parse_clause.c#L2863-L2867"}},{"Kind":"sources","Ordinal":11,"ID":"src.call.42P20.51b9fa13c98768648a42bec3","ServerVersion":null,"Status":null,"Payload":{"commit":"724edf9bde9d356724ad384a2e196edc3c9f80f7","docs_url":"","kind":"upstream_source","location":"lines 2893-2897","path":"src/backend/parser/parse_clause.c","position":11,"sha256":"fd3fb69d6ea2ed0c220eba1d4479c0b79d8713b39a28c62cc4bf1428491e8ebd","source_id":"src.call.42P20.51b9fa13c98768648a42bec3","tag":"REL_18_6","url":"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/parser/parse_clause.c#L2893-L2897"}},{"Kind":"sources","Ordinal":12,"ID":"src.call.42P20.879f1f1e1a0b390154b2b059","ServerVersion":null,"Status":null,"Payload":{"commit":"724edf9bde9d356724ad384a2e196edc3c9f80f7","docs_url":"","kind":"upstream_source","location":"lines 2899-2904","path":"src/backend/parser/parse_clause.c","position":12,"sha256":"fd3fb69d6ea2ed0c220eba1d4479c0b79d8713b39a28c62cc4bf1428491e8ebd","source_id":"src.call.42P20.879f1f1e1a0b390154b2b059","tag":"REL_18_6","url":"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/parser/parse_clause.c#L2899-L2904"}},{"Kind":"sources","Ordinal":13,"ID":"src.call.42P20.faf4767dd0e2b75c0c2f5763","ServerVersion":null,"Status":null,"Payload":{"commit":"724edf9bde9d356724ad384a2e196edc3c9f80f7","docs_url":"","kind":"upstream_source","location":"lines 2921-2924","path":"src/backend/parser/parse_clause.c","position":13,"sha256":"fd3fb69d6ea2ed0c220eba1d4479c0b79d8713b39a28c62cc4bf1428491e8ebd","source_id":"src.call.42P20.faf4767dd0e2b75c0c2f5763","tag":"REL_18_6","url":"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/parser/parse_clause.c#L2921-L2924"}},{"Kind":"sources","Ordinal":14,"ID":"src.call.42P20.745a6ce52598aa006a4c0b9d","ServerVersion":null,"Status":null,"Payload":{"commit":"724edf9bde9d356724ad384a2e196edc3c9f80f7","docs_url":"","kind":"upstream_source","location":"lines 2944-2947","path":"src/backend/parser/parse_clause.c","position":14,"sha256":"fd3fb69d6ea2ed0c220eba1d4479c0b79d8713b39a28c62cc4bf1428491e8ebd","source_id":"src.call.42P20.745a6ce52598aa006a4c0b9d","tag":"REL_18_6","url":"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/parser/parse_clause.c#L2944-L2947"}},{"Kind":"sources","Ordinal":15,"ID":"src.context.42P20.nodeWindowAgg","ServerVersion":null,"Status":null,"Payload":{"commit":"724edf9bde9d356724ad384a2e196edc3c9f80f7","docs_url":"","kind":"upstream_source","location":"lines 2139-2210","path":"src/backend/executor/nodeWindowAgg.c","position":15,"sha256":"c365e6750bc77a89562254903d099c3e5914e001d3aae418322ccffc1d535d17","source_id":"src.context.42P20.nodeWindowAgg","tag":"REL_18_6","url":"https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/executor/nodeWindowAgg.c#L2139"}},{"Kind":"sources","Ordinal":16,"ID":"src.calls.REL_18_6.42P20","ServerVersion":null,"Status":null,"Payload":{"commit":"","docs_url":"","kind":"local_artifact","location":"","path":"raw/calls/REL_18_6.jsonl","position":16,"sha256":"9ee8a0e81d8f0825c5c1ae45583439859a26e602bdd4ce2f2a62aa278867ccbf","source_id":"src.calls.REL_18_6.42P20","tag":"","url":""}}]}
