{"Entry":{"collection":"protocol","key":"rowdescription-b","name":"RowDescription","aliases":["RowDescription","Byte1('T')"],"metadata":{"aliases":["RowDescription","Byte1('T')"],"category":"Backend messages","content_hash":"7c57e0ab722b535865f444113865be8198f5c1b9fe63a4f01be2eef2ed92a9b0","derived_content_hash":"d3ec3015423b015a4577355a8a9d8a7632cf6082f399f99164c0a11699918054","imported_at":"2026-09-30T00:40:44.508614+08:00","name":"RowDescription","name_zh":"","slug":"rowdescription-b","summary":"RowDescription is a backend protocol message. Identifies the message as a row description."}},"Definition":{"Collection":"protocol","Key":"rowdescription-b","SourceDatabase":"center","Version":"18","SourceTable":"protocol_message","SourceKey":"rowdescription-b","SourceRevision":"555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f","Facts":{"comparison_data":{"direction":"B","fields":[{"description":"Identifies the message as a row description.","format":"Byte1('T')"},{"description":"Length of message contents in bytes, including self.","format":"Int32"},{"description":"Specifies the number of fields in a row (can be zero).","format":"Int16"},{"description":"The field name.","format":"String"},{"description":"If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero.","format":"Int32"},{"description":"If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero.","format":"Int16"},{"description":"The object ID of the field's data type.","format":"Int32"},{"description":"The data type size (see pg_type.typlen ). Note that negative values denote variable-width types.","format":"Int16"},{"description":"The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific.","format":"Int32"},{"description":"The format code being used for the field. Currently will be zero (text) or one (binary). In a RowDescription returned from the statement variant of Describe, the format code is not yet known and will always be zero.","format":"Int16"}]},"comparison_hash":"c9564ef40952fb1d8e6902b417759ad1c7f1cdb53baa6e854aa77b36a730a851","description":["RowDescription is a backend protocol message. Identifies the message as a row description."],"description_zh":"Byte1('T') 标识消息为行描述。 Int32 消息内容的长度（以字节为单位），包括其自身。 Int16 指定一行中的字段数量（可以为零）。 接下来，每个字段都有以下内容： String 字段名称。 Int32 如果能够确定该字段是某个特定表的列，则为该表的对象 ID；否则为零。 Int16 如果能够确定该字段是某个特定表的列，则为该列的属性编号；否则为零。 Int32 字段数据类型的对象 ID。 Int16 数据类型大小（参见 pg_type.typlen ）。注意，负值表示可变宽度类型。 Int32 类型修饰符（参见 pg_attribute.atttypmod ）。修饰符的含义是特定于类型的。 Int16 字段所使用的格式代码。目前为零（文本）或一（二进制）。对于 Describe 针对预备语句的变体所返回的 RowDescription，格式代码尚未确定，始终为零。","description_zh_html":"\u003cp\u003e协议消息 RowDescription (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('T')\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\u003cdt\u003e\u003cspan class=\"term\"\u003eInt16\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\"\u003eString\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         如果能够确定该字段是某个特定表的列，则为该表的对象 ID；否则为零。\n        \u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003eInt16\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         字段数据类型的对象 ID。\n        \u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003eInt16\u003c/span\u003e \u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\n         数据类型大小（参见 \u003ccode class=\"varname\"\u003epg_type.typlen\u003c/code\u003e）。注意，负值表示可变宽度类型。\n        \u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003eInt32\u003c/span\u003e \u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\n         类型修饰符（参见 \u003ccode class=\"varname\"\u003epg_attribute.atttypmod\u003c/code\u003e）。修饰符的含义是特定于类型的。\n        \u003c/p\u003e\u003c/dd\u003e\u003cdt\u003e\u003cspan class=\"term\"\u003eInt16\u003c/span\u003e \u003c/dt\u003e\u003cdd\u003e\u003cp\u003e\n         字段所使用的格式代码。目前为零（文本）或一（二进制）。对于 Describe 针对预备语句的变体所返回的 RowDescription，格式代码尚未确定，始终为零。\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-ROWDESCRIPTION\"\u003e查看完整中文手册与上下文\u003c/a\u003e。\u003c/p\u003e","direction":"B","facts":[{"label":"Direction","value":"Backend → frontend"},{"label":"First wire field","value":"Byte1('T')"},{"label":"Field entries","value":"10"},{"label":"Documented flow contexts","value":"Simple Query; Extended Query"}],"facts_zh":[{"label":"方向","value":"后端 → 前端"},{"label":"首个线上协议字段","value":"Byte1('T')"},{"label":"字段条目","value":"10"},{"label":"手册中的交互阶段","value":"简单查询；扩展查询"}],"fields":[{"description":"Identifies the message as a row description.","format":"Byte1('T')"},{"description":"Length of message contents in bytes, including self.","format":"Int32"},{"description":"Specifies the number of fields in a row (can be zero).","format":"Int16"},{"description":"The field name.","format":"String"},{"description":"If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero.","format":"Int32"},{"description":"If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero.","format":"Int16"},{"description":"The object ID of the field's data type.","format":"Int32"},{"description":"The data type size (see pg_type.typlen ). Note that negative values denote variable-width types.","format":"Int16"},{"description":"The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific.","format":"Int32"},{"description":"The format code being used for the field. Currently will be zero (text) or one (binary). In a RowDescription returned from the statement variant of Describe, the format code is not yet known and will always be zero.","format":"Int16"}],"manual_html":"\u003cdl\u003e\u003cdd\u003e\n\u003cdiv class=\"variablelist\"\u003e\n\u003cdl class=\"variablelist\"\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003eByte1('T')\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eIdentifies the message as a row description.\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\u003cdt\u003e\u003cspan class=\"term\"\u003eInt16\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eSpecifies the number of fields in a row (can be zero).\u003c/p\u003e\n\u003c/dd\u003e\n\u003c/dl\u003e\n\u003c/div\u003e\n\u003cp\u003eThen, 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\"\u003eString\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eThe field name.\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\u003eIf the field can be identified as a column of a specific table, the object ID of the table; otherwise zero.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003eInt16\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eIf the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero.\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\u003eThe object ID of the field's data type.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003eInt16\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eThe data type size (see \u003ccode class=\"varname\"\u003epg_type.typlen\u003c/code\u003e). Note that negative values denote variable-width types.\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\u003eThe type modifier (see \u003ccode class=\"varname\"\u003epg_attribute.atttypmod\u003c/code\u003e). The meaning of the modifier is type-specific.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003eInt16\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eThe format code being used for the field. Currently will be zero (text) or one (binary). In a RowDescription returned from the statement variant of Describe, the format code is not yet known and will always be zero.\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":"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"}],"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":"RowDescription (B)","sources":[{"label":"PostgreSQL 18 English manual","path":"protocol-message-formats.html","sha256":"53f37652ac2c089e30ada87d8aee7bdd0f26695b03f275302e526a807d2a1f23","url":"/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-ROWDESCRIPTION"}],"tables":[{"columns":[{"key":"c0","label":"Position"},{"key":"c1","label":"Format"},{"key":"c2","label":"Meaning"}],"key":"fields","rows":[{"c0":"1","c1":"Byte1('T')","c2":"Identifies the message as a row description."},{"c0":"2","c1":"Int32","c2":"Length of message contents in bytes, including self."},{"c0":"3","c1":"Int16","c2":"Specifies the number of fields in a row (can be zero)."},{"c0":"4","c1":"String","c2":"The field name."},{"c0":"5","c1":"Int32","c2":"If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero."},{"c0":"6","c1":"Int16","c2":"If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero."},{"c0":"7","c1":"Int32","c2":"The object ID of the field's data type."},{"c0":"8","c1":"Int16","c2":"The data type size (see pg_type.typlen ). Note that negative values denote variable-width types."},{"c0":"9","c1":"Int32","c2":"The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific."},{"c0":"10","c1":"Int16","c2":"The format code being used for the field. Currently will be zero (text) or one (binary). In a RowDescription returned from the statement variant of Describe, the format code is not yet known and will always be zero."}],"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('T')","c2":"标识消息为行描述。"},{"c0":"2","c1":"Int32","c2":"消息内容的长度（以字节为单位），包括其自身。"},{"c0":"3","c1":"Int16","c2":"指定一行中的字段数量（可以为零）。"},{"c0":"4","c1":"字符串","c2":"字段名称。"},{"c0":"5","c1":"Int32","c2":"如果能够确定该字段是某个特定表的列，则为该表的对象 ID；否则为零。"},{"c0":"6","c1":"Int16","c2":"如果能够确定该字段是某个特定表的列，则为该列的属性编号；否则为零。"},{"c0":"7","c1":"Int32","c2":"字段数据类型的对象 ID。"},{"c0":"8","c1":"Int16","c2":"数据类型大小（参见 pg_type.typlen ）。注意，负值表示可变宽度类型。"},{"c0":"9","c1":"Int32","c2":"类型修饰符（参见 pg_attribute.atttypmod ）。修饰符的含义是特定于类型的。"},{"c0":"10","c1":"Int16","c2":"字段所使用的格式代码。目前为零（文本）或一（二进制）。对于 Describe 针对预备语句的变体所返回的 RowDescription，格式代码尚未确定，始终为零。"}],"title":"按手册顺序排列的线上协议字段"}],"zh_from":{"authored_translation":"source-derived-identity","body_sha256":"1b7fe77279004149e9105dabeee2e0fe8b4a478aae60b0d5ccdcd5bfd6f8b10b","kind":"same-version-chinese-manual-with-source-derived-identity","manual":{"anchor":"PROTOCOL-MESSAGE-FORMATS-ROWDESCRIPTION","build_id":107,"extraction":"exact-definition","fragment_sha256":"099df0ecad23fd4714de98c5b37ab448f6e57d9e1805c8a8688c3440682f3f3c","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-ROWDESCRIPTION","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-ROWDESCRIPTION"}]},"MeasuredEvidence":{}},"Text":{"Collection":"protocol","Key":"rowdescription-b","SourceDatabase":"center","Version":"18","Locale":"en","Title":"RowDescription","Summary":"RowDescription is a backend protocol message. Identifies the message as a row description.","BodyHTML":"\u003cdl\u003e\u003cdd\u003e\n\u003cdiv\u003e\n\u003cdl\u003e\n\u003cdt\u003e\u003cspan\u003eByte1(\u0026#39;T\u0026#39;)\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eIdentifies the message as a row description.\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\u003cdt\u003e\u003cspan\u003eInt16\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eSpecifies the number of fields in a row (can be zero).\u003c/p\u003e\n\u003c/dd\u003e\n\u003c/dl\u003e\n\u003c/div\u003e\n\u003cp\u003eThen, for each field, there is the following:\u003c/p\u003e\n\u003cdiv\u003e\n\u003cdl\u003e\n\u003cdt\u003e\u003cspan\u003eString\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eThe field name.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan\u003eInt32\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eIf the field can be identified as a column of a specific table, the object ID of the table; otherwise zero.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan\u003eInt16\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eIf the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan\u003eInt32\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eThe object ID of the field\u0026#39;s data type.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan\u003eInt16\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eThe data type size (see \u003ccode\u003epg_type.typlen\u003c/code\u003e). Note that negative values denote variable-width types.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan\u003eInt32\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eThe type modifier (see \u003ccode\u003epg_attribute.atttypmod\u003c/code\u003e). The meaning of the modifier is type-specific.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan\u003eInt16\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eThe format code being used for the field. Currently will be zero (text) or one (binary). In a RowDescription returned from the statement variant of Describe, the format code is not yet known and will always be zero.\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":"b5dcc5e27e652b3643b27c984bbeace331a14e2900678458ca729a06aa178c12","Payload":{"description":["RowDescription is a backend protocol message. Identifies the message as a row description."],"manual_html":"\u003cdl\u003e\u003cdd\u003e\n\u003cdiv class=\"variablelist\"\u003e\n\u003cdl class=\"variablelist\"\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003eByte1('T')\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eIdentifies the message as a row description.\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\u003cdt\u003e\u003cspan class=\"term\"\u003eInt16\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eSpecifies the number of fields in a row (can be zero).\u003c/p\u003e\n\u003c/dd\u003e\n\u003c/dl\u003e\n\u003c/div\u003e\n\u003cp\u003eThen, 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\"\u003eString\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eThe field name.\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\u003eIf the field can be identified as a column of a specific table, the object ID of the table; otherwise zero.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003eInt16\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eIf the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero.\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\u003eThe object ID of the field's data type.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003eInt16\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eThe data type size (see \u003ccode class=\"varname\"\u003epg_type.typlen\u003c/code\u003e). Note that negative values denote variable-width types.\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\u003eThe type modifier (see \u003ccode class=\"varname\"\u003epg_attribute.atttypmod\u003c/code\u003e). The meaning of the modifier is type-specific.\u003c/p\u003e\n\u003c/dd\u003e\n\u003cdt\u003e\u003cspan class=\"term\"\u003eInt16\u003c/span\u003e\u003c/dt\u003e\n\u003cdd\u003e\n\u003cp\u003eThe format code being used for the field. Currently will be zero (text) or one (binary). In a RowDescription returned from the statement variant of Describe, the format code is not yet known and will always be zero.\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":"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"}],"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('T')","c2":"Identifies the message as a row description."},{"c0":"2","c1":"Int32","c2":"Length of message contents in bytes, including self."},{"c0":"3","c1":"Int16","c2":"Specifies the number of fields in a row (can be zero)."},{"c0":"4","c1":"String","c2":"The field name."},{"c0":"5","c1":"Int32","c2":"If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero."},{"c0":"6","c1":"Int16","c2":"If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero."},{"c0":"7","c1":"Int32","c2":"The object ID of the field's data type."},{"c0":"8","c1":"Int16","c2":"The data type size (see pg_type.typlen ). Note that negative values denote variable-width types."},{"c0":"9","c1":"Int32","c2":"The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific."},{"c0":"10","c1":"Int16","c2":"The format code being used for the field. Currently will be zero (text) or one (binary). In a RowDescription returned from the statement variant of Describe, the format code is not yet known and will always be zero."}],"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}
