{"Entry":{"collection":"protocol","key":"errorresponse-b","name":"ErrorResponse","aliases":["ErrorResponse","Byte1('E')"],"metadata":{"aliases":["ErrorResponse","Byte1('E')"],"category":"Backend messages","content_hash":"7bd6f624be5e8c35456bc28c495755a098603b93e4cd7b7b510c5de8946d8dc4","derived_content_hash":"80a92db0289fd66c99fe912e312acd67d55a3834f45238f5f8a74ec0c8b250ec","imported_at":"2026-09-30T00:40:44.468679+08:00","name":"ErrorResponse","name_zh":"","slug":"errorresponse-b","summary":"ErrorResponse is a backend protocol message. Identifies the message as an error."}},"Definition":{"Collection":"protocol","Key":"errorresponse-b","SourceDatabase":"center","Version":"18","SourceTable":"protocol_message","SourceKey":"errorresponse-b","SourceRevision":"555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f","Facts":{"comparison_data":{"direction":"B","fields":[{"description":"Identifies the message as an error.","format":"Byte1('E')"},{"description":"Length of message contents in bytes, including self.","format":"Int32"},{"description":"A code identifying the field type; if zero, this is the message terminator and no string follows. The presently defined field types are listed in Section 54.8 . Since more field types might be added in future, frontends should silently ignore fields of unrecognized type.","format":"Byte1"},{"description":"The field value.","format":"String"}]},"comparison_hash":"8fe782202d6454a309f0ec198ce34a0513fdec7f433d60fcaf507f3d940f5db3","description":["ErrorResponse is a backend protocol message. Identifies the message as an error."],"description_zh":"Byte1('E') 将消息标识为错误。 Int32 消息内容的长度（以字节为单位），包括其自身。 消息体由一个或多个带标识的字段组成，最后以一个零字节终止。字段可以按任意顺序出现。每个字段包含以下内容： Byte1 一个用于标识字段类型的代码；如果为零，则这是消息终止符，后面没有字符串。目前定义的字段类型列在 第 54.8 节 中。由于将来可能会添加更多的字段类型，前端应该静默地忽略未识别类型的字段。 String 字段值。","description_zh_html":"\u003cp\u003e协议消息 ErrorResponse (B)。\u003c/p\u003e\u003ch3\u003e同版本中文手册定义\u003c/h3\u003e\u003cdd\u003e\u003cdiv class=\"variablelist\"\u003e\u003cdl class=\"variablelist\"\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003eByte1('E')\u003c/span\u003e \u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\n         将消息标识为错误。\n        \u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003eInt32\u003c/span\u003e \u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\n         消息内容的长度（以字节为单位），包括其自身。\n        \u003c/p\u003e\u003c/dd\u003e\u003c/dl\u003e\u003c/div\u003e\u003cp\u003e\n      消息体由一个或多个带标识的字段组成，最后以一个零字节终止。字段可以按任意顺序出现。每个字段包含以下内容：\n     \u003c/p\u003e\u003cdiv class=\"variablelist\"\u003e\u003cdl class=\"variablelist\"\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003eByte1\u003c/span\u003e \u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\n         一个用于标识字段类型的代码；如果为零，则这是消息终止符，后面没有字符串。目前定义的字段类型列在\u003ca class=\"xref\" href=\"/zh/docs/18/protocol-error-fields.html\"\u003e第 54.8 节\u003c/a\u003e中。由于将来可能会添加更多的字段类型，前端应该静默地忽略未识别类型的字段。\n        \u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003eString\u003c/span\u003e \u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\n         字段值。\n        \u003c/p\u003e\u003c/dd\u003e\u003c/dl\u003e\u003c/div\u003e\u003c/dd\u003e\u003cp\u003e\u003ca href=\"/zh/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-ERRORRESPONSE\"\u003e查看完整中文手册与上下文\u003c/a\u003e。\u003c/p\u003e","direction":"B","facts":[{"label":"Direction","value":"Backend → frontend"},{"label":"First wire field","value":"Byte1('E')"},{"label":"Field entries","value":"4"},{"label":"Documented flow contexts","value":"Start-up; Simple Query; Extended Query; Function Call; COPY Operations"}],"facts_zh":[{"label":"方向","value":"后端 → 前端"},{"label":"首个线上协议字段","value":"Byte1('E')"},{"label":"字段条目","value":"4"},{"label":"手册中的交互阶段","value":"启动；简单查询；扩展查询；函数调用；COPY 操作"}],"fields":[{"description":"Identifies the message as an error.","format":"Byte1('E')"},{"description":"Length of message contents in bytes, including self.","format":"Int32"},{"description":"A code identifying the field type; if zero, this is the message terminator and no string follows. The presently defined field types are listed in Section 54.8 . Since more field types might be added in future, frontends should silently ignore fields of unrecognized type.","format":"Byte1"},{"description":"The field value.","format":"String"}],"manual_html":"\u003cdl\u003e\u003cdd\u003e\n\u003cdiv class=\"variablelist\"\u003e\n\u003cdl class=\"variablelist\"\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003eByte1('E')\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eIdentifies the message as an error.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003eInt32\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eLength of message contents in bytes, including self.\u003c/p\u003e\n\u003c/dd\u003e\n\u003c/dl\u003e\n\u003c/div\u003e\n\u003cp\u003eThe message body consists of one or more identified fields, followed by a zero byte as a terminator. Fields can appear in any order. For each field there is the following:\u003c/p\u003e\n\u003cdiv class=\"variablelist\"\u003e\n\u003cdl class=\"variablelist\"\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003eByte1\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eA code identifying the field type; if zero, this is the message terminator and no string follows. The presently defined field types are listed in \u003ca class=\"xref\" href=\"/docs/18/protocol-error-fields.html\" title=\"54.8. Error and Notice Message Fields\"\u003eSection 54.8\u003c/a\u003e. Since more field types might be added in future, frontends should silently ignore fields of unrecognized type.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003eString\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eThe field value.\u003c/p\u003e\n\u003c/dd\u003e\n\u003c/dl\u003e\n\u003c/div\u003e\n\u003c/dd\u003e\u003c/dl\u003e","manual_path":"/docs/18/protocol-message-formats.html","related":[{"label":"Protocol flow and exchange examples","url":"/docs/18/protocol-flow.html"},{"label":"Protocol overview","url":"/docs/18/protocol-overview.html"},{"label":"Start-up","url":"/docs/18/protocol-flow.html#PROTOCOL-FLOW-START-UP"},{"label":"Simple Query","url":"/docs/18/protocol-flow.html#PROTOCOL-FLOW-SIMPLE-QUERY"},{"label":"Extended Query","url":"/docs/18/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY"},{"label":"Function Call","url":"/docs/18/protocol-flow.html#PROTOCOL-FLOW-FUNCTION-CALL"},{"label":"COPY Operations","url":"/docs/18/protocol-flow.html#PROTOCOL-COPY"}],"release":{"channel":"stable","label":"18.6","major":"18","ref":"https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2","revision":"555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"},"sections":[{"paragraphs":["The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter."],"title":"Framing and repetition"}],"sections_zh":[{"paragraphs":["下方完整定义保留重复项、计数与条件字段。表格行号表示文档中的字段定义，并非固定字节偏移量。整数编码与交互流程以同版本协议章节为准。"],"title":"消息边界与重复字段"}],"signature":"ErrorResponse (B)","sources":[{"label":"PostgreSQL 18 English manual","path":"protocol-message-formats.html","sha256":"53f37652ac2c089e30ada87d8aee7bdd0f26695b03f275302e526a807d2a1f23","url":"/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-ERRORRESPONSE"}],"tables":[{"columns":[{"key":"c0","label":"Position"},{"key":"c1","label":"Format"},{"key":"c2","label":"Meaning"}],"key":"fields","rows":[{"c0":"1","c1":"Byte1('E')","c2":"Identifies the message as an error."},{"c0":"2","c1":"Int32","c2":"Length of message contents in bytes, including self."},{"c0":"3","c1":"Byte1","c2":"A code identifying the field type; if zero, this is the message terminator and no string follows. The presently defined field types are listed in Section 54.8 . Since more field types might be added in future, frontends should silently ignore fields of unrecognized type."},{"c0":"4","c1":"String","c2":"The field value."}],"title":"Wire fields in documented order"}],"tables_zh":[{"columns":[{"key":"c0","label":"位置"},{"key":"c1","label":"格式"},{"key":"c2","label":"含义"}],"key":"fields","rows":[{"c0":"1","c1":"Byte1('E')","c2":"将消息标识为错误。"},{"c0":"2","c1":"Int32","c2":"消息内容的长度（以字节为单位），包括其自身。"},{"c0":"3","c1":"Byte1","c2":"一个用于标识字段类型的代码；如果为零，则这是消息终止符，后面没有字符串。目前定义的字段类型列在 第 54.8 节 中。由于将来可能会添加更多的字段类型，前端应该静默地忽略未识别类型的字段。"},{"c0":"4","c1":"字符串","c2":"字段值。"}],"title":"按手册顺序排列的线上协议字段"}],"zh_from":{"authored_translation":"source-derived-identity","body_sha256":"76d10fec405de94b8c2d2b5efb2883c3c0adbd3965222b2a103e8f6b11334f55","kind":"same-version-chinese-manual-with-source-derived-identity","manual":{"anchor":"PROTOCOL-MESSAGE-FORMATS-ERRORRESPONSE","build_id":107,"extraction":"exact-definition","fragment_sha256":"d2138bd7868bb38edf78644335b66a83749ad80c75c76d7f504a0a8baefd8e7a","locale":"zh-Hans","page_key":"protocol-message-formats.html","source_hash":"0be0a37b38d80c96c157ca9fcfe9222995654664aad8136f7ac2b1b552f6753a","source_revision":"unknown:rendered-translation-baseline","translated_from_revision":null,"translation_revision":"git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:08e987a66af27b98444a8057c256314eafa13611a3fb9e888214fc436824244b","url":"/zh/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-ERRORRESPONSE","version":"18"},"runtime_rerun":false,"source_facts_revision":"555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}},"ManualEvidence":{"manual_path":"/docs/18/protocol-message-formats.html","release":{"channel":"stable","label":"18.6","major":"18","ref":"https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2","revision":"555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"},"sources":[{"label":"PostgreSQL 18 English manual","path":"protocol-message-formats.html","sha256":"53f37652ac2c089e30ada87d8aee7bdd0f26695b03f275302e526a807d2a1f23","url":"/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-ERRORRESPONSE"}]},"MeasuredEvidence":{}},"Text":{"Collection":"protocol","Key":"errorresponse-b","SourceDatabase":"center","Version":"18","Locale":"en","Title":"ErrorResponse","Summary":"ErrorResponse is a backend protocol message. Identifies the message as an error.","BodyHTML":"\u003cdl\u003e\u003cdd\u003e\n\u003cdiv\u003e\n\u003cdl\u003e\n\u003cdt\u003e\u003cspan\u003eByte1(\u0026#39;E\u0026#39;)\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eIdentifies the message as an error.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan\u003eInt32\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eLength of message contents in bytes, including self.\u003c/p\u003e\n\u003c/dd\u003e\n\u003c/dl\u003e\n\u003c/div\u003e\n\u003cp\u003eThe message body consists of one or more identified fields, followed by a zero byte as a terminator. Fields can appear in any order. For each field there is the following:\u003c/p\u003e\n\u003cdiv\u003e\n\u003cdl\u003e\n\u003cdt\u003e\u003cspan\u003eByte1\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eA code identifying the field type; if zero, this is the message terminator and no string follows. The presently defined field types are listed in \u003ca href=\"/docs/18/protocol-error-fields.html\" rel=\"nofollow\"\u003eSection 54.8\u003c/a\u003e. Since more field types might be added in future, frontends should silently ignore fields of unrecognized type.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan\u003eString\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eThe field value.\u003c/p\u003e\n\u003c/dd\u003e\n\u003c/dl\u003e\n\u003c/div\u003e\n\u003c/dd\u003e\u003c/dl\u003e","SourceRevision":"555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f","ContentHash":"47004484d53027728b1d71316cda8ba8fc2c16774f2af382d1eb9bb544258cb9","Payload":{"description":["ErrorResponse is a backend protocol message. Identifies the message as an error."],"manual_html":"\u003cdl\u003e\u003cdd\u003e\n\u003cdiv class=\"variablelist\"\u003e\n\u003cdl class=\"variablelist\"\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003eByte1('E')\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eIdentifies the message as an error.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003eInt32\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eLength of message contents in bytes, including self.\u003c/p\u003e\n\u003c/dd\u003e\n\u003c/dl\u003e\n\u003c/div\u003e\n\u003cp\u003eThe message body consists of one or more identified fields, followed by a zero byte as a terminator. Fields can appear in any order. For each field there is the following:\u003c/p\u003e\n\u003cdiv class=\"variablelist\"\u003e\n\u003cdl class=\"variablelist\"\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003eByte1\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eA code identifying the field type; if zero, this is the message terminator and no string follows. The presently defined field types are listed in \u003ca class=\"xref\" href=\"/docs/18/protocol-error-fields.html\" title=\"54.8. Error and Notice Message Fields\"\u003eSection 54.8\u003c/a\u003e. Since more field types might be added in future, frontends should silently ignore fields of unrecognized type.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003eString\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eThe field value.\u003c/p\u003e\n\u003c/dd\u003e\n\u003c/dl\u003e\n\u003c/div\u003e\n\u003c/dd\u003e\u003c/dl\u003e","related":[{"label":"Protocol flow and exchange examples","url":"/docs/18/protocol-flow.html"},{"label":"Protocol overview","url":"/docs/18/protocol-overview.html"},{"label":"Start-up","url":"/docs/18/protocol-flow.html#PROTOCOL-FLOW-START-UP"},{"label":"Simple Query","url":"/docs/18/protocol-flow.html#PROTOCOL-FLOW-SIMPLE-QUERY"},{"label":"Extended Query","url":"/docs/18/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY"},{"label":"Function Call","url":"/docs/18/protocol-flow.html#PROTOCOL-FLOW-FUNCTION-CALL"},{"label":"COPY Operations","url":"/docs/18/protocol-flow.html#PROTOCOL-COPY"}],"sections":[{"paragraphs":["The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter."],"title":"Framing and repetition"}],"tables":[{"columns":[{"key":"c0","label":"Position"},{"key":"c1","label":"Format"},{"key":"c2","label":"Meaning"}],"key":"fields","rows":[{"c0":"1","c1":"Byte1('E')","c2":"Identifies the message as an error."},{"c0":"2","c1":"Int32","c2":"Length of message contents in bytes, including self."},{"c0":"3","c1":"Byte1","c2":"A code identifying the field type; if zero, this is the message terminator and no string follows. The presently defined field types are listed in Section 54.8 . Since more field types might be added in future, frontends should silently ignore fields of unrecognized type."},{"c0":"4","c1":"String","c2":"The field value."}],"title":"Wire fields in documented order"}]}},"RequestedLocale":"en","Fallback":false,"Versions":["10","11","12","13","14","15","16","17","18","19","20"],"Locales":["en","zh-Hans"],"Signatures":null,"Spellings":null,"SQLState":null,"Evidence":null}
