{"kind": "protocol", "major": "18", "item": {"slug": "rowdescription-b", "name": "RowDescription", "name_zh": "", "category": "\u540e\u7aef\u6d88\u606f", "summary": "RowDescription \u662f\u540e\u7aef\u534f\u8bae\u6d88\u606f\uff0c\u8868\u793a\u884c\u63cf\u8ff0\u3002", "aliases": ["RowDescription", "Byte1('T')"], "content_hash": "7031f14e7729d516c331f6f04afd6a6ccea4ca9243a2d5b71661a8aec58d6472", "versions": {"10": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('T')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "10"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2"}], "fields": [{"format": "Byte1('T')", "description": "Identifies the message as a row description."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int16", "description": "Specifies the number of fields in a row (can be zero)."}, {"format": "String", "description": "The field name."}, {"format": "Int32", "description": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero."}, {"format": "Int16", "description": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero."}, {"format": "Int32", "description": "The object ID of the field's data type."}, {"format": "Int16", "description": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types."}, {"format": "Int32", "description": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific."}, {"format": "Int16", "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."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('T')", "c2": "\u6807\u8bc6\u6d88\u606f\u4e3a\u884c\u63cf\u8ff0\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "Int16", "c2": "\u6307\u5b9a\u4e00\u884c\u4e2d\u7684\u5b57\u6bb5\u6570\u91cf\uff08\u53ef\u4ee5\u4e3a\u96f6\uff09\u3002"}, {"c0": "4", "c1": "\u5b57\u7b26\u4e32", "c2": "\u5b57\u6bb5\u540d\u79f0\u3002"}, {"c0": "5", "c1": "Int32", "c2": "\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u8868\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a\u96f6\u3002"}, {"c0": "6", "c1": "Int16", "c2": "\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u5217\u7684\u5c5e\u6027\u7f16\u53f7\uff1b\u5426\u5219\u4e3a\u96f6\u3002"}, {"c0": "7", "c1": "Int32", "c2": "\u5b57\u6bb5\u6570\u636e\u7c7b\u578b\u7684\u5bf9\u8c61 ID\u3002"}, {"c0": "8", "c1": "Int16", "c2": "\u6570\u636e\u7c7b\u578b\u5927\u5c0f\uff08\u53c2\u89c1 pg_type.typlen \uff09\u3002\u6ce8\u610f\uff0c\u8d1f\u503c\u8868\u793a\u53ef\u53d8\u5bbd\u5ea6\u7c7b\u578b\u3002"}, {"c0": "9", "c1": "Int32", "c2": "\u7c7b\u578b\u4fee\u9970\u7b26\uff08\u53c2\u89c1 pg_attribute.atttypmod \uff09\u3002\u4fee\u9970\u7b26\u7684\u542b\u4e49\u662f\u7279\u5b9a\u4e8e\u7c7b\u578b\u7684\u3002"}, {"c0": "10", "c1": "Int16", "c2": "\u5b57\u6bb5\u6240\u4f7f\u7528\u7684\u683c\u5f0f\u4ee3\u7801\u3002\u76ee\u524d\u4e3a\u96f6\uff08\u6587\u672c\uff09\u6216\u4e00\uff08\u4e8c\u8fdb\u5236\uff09\u3002\u5bf9\u4e8e Describe \u9488\u5bf9\u9884\u5907\u8bed\u53e5\u7684\u53d8\u4f53\u6240\u8fd4\u56de\u7684 RowDescription\uff0c\u683c\u5f0f\u4ee3\u7801\u5c1a\u672a\u786e\u5b9a\uff0c\u59cb\u7ec8\u4e3a\u96f6\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "related": [{"url": "/docs/10/protocol-flow.html", "label": "\u534f\u8bae\u6d41\u7a0b\u4e0e\u4ea4\u4e92\u793a\u4f8b"}, {"url": "/docs/10/protocol-overview.html", "label": "\u534f\u8bae\u6982\u8ff0"}, {"url": "/docs/10/protocol-flow.html#id-1.10.5.7.4", "label": "\u7b80\u5355\u67e5\u8be2"}, {"url": "/docs/10/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "\u6269\u5c55\u67e5\u8be2"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "label": "10.23", "major": "10", "channel": "stable", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "sources": [{"url": "https://pg.center/docs/10/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "path": "protocol-message-formats.html", "label": "PostgreSQL 10 English manual", "sha256": "b730a205dfc348a67edbc1e9687f2c2df69005fe30c062ef76e37b474538e4f8", "language": "en", "original_url": "/docs/10/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS"}], "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "direction": "B", "signature": "RowDescription (B)", "description": ["RowDescription \u662f\u540e\u7aef\u534f\u8bae\u6d88\u606f\uff0c\u8868\u793a\u884c\u63cf\u8ff0\u3002"], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Byte1('T')</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6807\u8bc6\u6d88\u606f\u4e3a\u884c\u63cf\u8ff0\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6307\u5b9a\u4e00\u884c\u4e2d\u7684\u5b57\u6bb5\u6570\u91cf\uff08\u53ef\u4ee5\u4e3a\u96f6\uff09\u3002</p>\n</p>\n</dd>\n</dl>\n</div>\n<p lang=\"zh\">\u63a5\u4e0b\u6765\uff0c\u6bcf\u4e2a\u5b57\u6bb5\u90fd\u6709\u4ee5\u4e0b\u5185\u5bb9\uff1a</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt lang=\"zh\">\u5b57\u7b26\u4e32</dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u540d\u79f0\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u8868\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u5217\u7684\u5c5e\u6027\u7f16\u53f7\uff1b\u5426\u5219\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u6570\u636e\u7c7b\u578b\u7684\u5bf9\u8c61 ID\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6570\u636e\u7c7b\u578b\u5927\u5c0f\uff08\u53c2\u89c1<code class=\"varname\">pg_type.typlen</code>\uff09\u3002\u6ce8\u610f\uff0c\u8d1f\u503c\u8868\u793a\u53ef\u53d8\u5bbd\u5ea6\u7c7b\u578b\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u7c7b\u578b\u4fee\u9970\u7b26\uff08\u53c2\u89c1<code class=\"varname\">pg_attribute.atttypmod</code>\uff09\u3002\u4fee\u9970\u7b26\u7684\u542b\u4e49\u662f\u7279\u5b9a\u4e8e\u7c7b\u578b\u7684\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u6240\u4f7f\u7528\u7684\u683c\u5f0f\u4ee3\u7801\u3002\u76ee\u524d\u4e3a\u96f6\uff08\u6587\u672c\uff09\u6216\u4e00\uff08\u4e8c\u8fdb\u5236\uff09\u3002\u5bf9\u4e8e Describe \u9488\u5bf9\u9884\u5907\u8bed\u53e5\u7684\u53d8\u4f53\u6240\u8fd4\u56de\u7684 RowDescription\uff0c\u683c\u5f0f\u4ee3\u7801\u5c1a\u672a\u786e\u5b9a\uff0c\u59cb\u7ec8\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/10/protocol-message-formats.html", "localization": {"status": "complete", "sources": [{"url": "/docs/10/datatype-json.html", "method": "same-major semantic node", "sha256": "165b454cf9ff6825d21a4252844d43764fca541eafd0649170257d230e23425b", "language": "zh", "matched_nodes": ["#DATATYPE-JSON/div[18]/pre[23]/em[4]/code[0]"]}, {"url": "/docs/10/protocol-message-formats.html", "method": "same-major semantic node", "sha256": "fb3f5382c61e7fcc0eaa29589ac1811e59b1cc7a8bd23c1ebe5fc8f17c9819b2", "language": "zh", "matched_nodes": ["#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[1]/div[0]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[0]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[0]/dl[0]/dd[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[11]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[13]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[7]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[9]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/p[1]"]}], "language": "zh", "original_text": {"/versions/10/description/0": "RowDescription is a backend protocol message. Identifies the message as a row description.", "/versions/10/facts/0/label": "Direction", "/versions/10/facts/0/value": "Backend \u2192 frontend", "/versions/10/facts/1/label": "First wire field", "/versions/10/facts/2/label": "Field entries", "/versions/10/facts/3/label": "Documented flow contexts", "/versions/10/facts/3/value": "Simple Query; Extended Query", "/versions/10/tables/0/title": "Wire fields in documented order", "/versions/10/related/0/label": "Protocol flow and exchange examples", "/versions/10/related/1/label": "Protocol overview", "/versions/10/related/2/label": "Simple Query", "/versions/10/related/3/label": "Extended Query", "/versions/10/sections/0/title": "Framing and repetition", "/versions/10/tables/0/rows/0/c2": "Identifies the message as a row description.", "/versions/10/tables/0/rows/1/c2": "Length of message contents in bytes, including self.", "/versions/10/tables/0/rows/2/c2": "Specifies the number of fields in a row (can be zero).", "/versions/10/tables/0/rows/3/c1": "String", "/versions/10/tables/0/rows/3/c2": "The field name.", "/versions/10/tables/0/rows/4/c2": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero.", "/versions/10/tables/0/rows/5/c2": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero.", "/versions/10/tables/0/rows/6/c2": "The object ID of the field's data type.", "/versions/10/tables/0/rows/7/c2": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types.", "/versions/10/tables/0/rows/8/c2": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific.", "/versions/10/tables/0/rows/9/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.", "/versions/10/sections/0/paragraphs/0": "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.", "/versions/10/tables/0/columns/0/label": "Position", "/versions/10/tables/0/columns/1/label": "Format", "/versions/10/tables/0/columns/2/label": "Meaning"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "49e1bc347bec50d8e37fe7dbd6e8758c80ee1ef6432837ea024478d542c010db"}, "comparison_data": {"fields": [{"format": "Byte1('T')", "description": "Identifies the message as a row description."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int16", "description": "Specifies the number of fields in a row (can be zero)."}, {"format": "String", "description": "The field name."}, {"format": "Int32", "description": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero."}, {"format": "Int16", "description": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero."}, {"format": "Int32", "description": "The object ID of the field's data type."}, {"format": "Int16", "description": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types."}, {"format": "Int32", "description": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific."}, {"format": "Int16", "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."}], "direction": "B"}, "comparison_hash": "c9564ef40952fb1d8e6902b417759ad1c7f1cdb53baa6e854aa77b36a730a851", "manual_language": "zh"}, "11": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('T')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "10"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2"}], "fields": [{"format": "Byte1('T')", "description": "Identifies the message as a row description."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int16", "description": "Specifies the number of fields in a row (can be zero)."}, {"format": "String", "description": "The field name."}, {"format": "Int32", "description": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero."}, {"format": "Int16", "description": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero."}, {"format": "Int32", "description": "The object ID of the field's data type."}, {"format": "Int16", "description": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types."}, {"format": "Int32", "description": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific."}, {"format": "Int16", "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."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('T')", "c2": "\u6807\u8bc6\u6d88\u606f\u4e3a\u884c\u63cf\u8ff0\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "Int16", "c2": "\u6307\u5b9a\u4e00\u884c\u4e2d\u7684\u5b57\u6bb5\u6570\u91cf\uff08\u53ef\u4ee5\u4e3a\u96f6\uff09\u3002"}, {"c0": "4", "c1": "\u5b57\u7b26\u4e32", "c2": "\u5b57\u6bb5\u540d\u79f0\u3002"}, {"c0": "5", "c1": "Int32", "c2": "\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u8868\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a\u96f6\u3002"}, {"c0": "6", "c1": "Int16", "c2": "\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u5217\u7684\u5c5e\u6027\u7f16\u53f7\uff1b\u5426\u5219\u4e3a\u96f6\u3002"}, {"c0": "7", "c1": "Int32", "c2": "\u5b57\u6bb5\u6570\u636e\u7c7b\u578b\u7684\u5bf9\u8c61 ID\u3002"}, {"c0": "8", "c1": "Int16", "c2": "\u6570\u636e\u7c7b\u578b\u5927\u5c0f\uff08\u53c2\u89c1 pg_type.typlen \uff09\u3002\u6ce8\u610f\uff0c\u8d1f\u503c\u8868\u793a\u53ef\u53d8\u5bbd\u5ea6\u7c7b\u578b\u3002"}, {"c0": "9", "c1": "Int32", "c2": "\u7c7b\u578b\u4fee\u9970\u7b26\uff08\u53c2\u89c1 pg_attribute.atttypmod \uff09\u3002\u4fee\u9970\u7b26\u7684\u542b\u4e49\u662f\u7279\u5b9a\u4e8e\u7c7b\u578b\u7684\u3002"}, {"c0": "10", "c1": "Int16", "c2": "\u5b57\u6bb5\u6240\u4f7f\u7528\u7684\u683c\u5f0f\u4ee3\u7801\u3002\u76ee\u524d\u4e3a\u96f6\uff08\u6587\u672c\uff09\u6216\u4e00\uff08\u4e8c\u8fdb\u5236\uff09\u3002\u5bf9\u4e8e Describe \u9488\u5bf9\u9884\u5907\u8bed\u53e5\u7684\u53d8\u4f53\u6240\u8fd4\u56de\u7684 RowDescription\uff0c\u683c\u5f0f\u4ee3\u7801\u5c1a\u672a\u786e\u5b9a\uff0c\u59cb\u7ec8\u4e3a\u96f6\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "related": [{"url": "/docs/11/protocol-flow.html", "label": "\u534f\u8bae\u6d41\u7a0b\u4e0e\u4ea4\u4e92\u793a\u4f8b"}, {"url": "/docs/11/protocol-overview.html", "label": "\u534f\u8bae\u6982\u8ff0"}, {"url": "/docs/11/protocol-flow.html#id-1.10.5.7.4", "label": "\u7b80\u5355\u67e5\u8be2"}, {"url": "/docs/11/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "\u6269\u5c55\u67e5\u8be2"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "label": "11.22", "major": "11", "channel": "stable", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "sources": [{"url": "https://pg.center/docs/11/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "path": "protocol-message-formats.html", "label": "PostgreSQL 11 English manual", "sha256": "a6087693de687f5a6582bfa6529356ecb8a089e2d56694482352a55eb6ccfdf1", "language": "en", "original_url": "/docs/11/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS"}], "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "direction": "B", "signature": "RowDescription (B)", "description": ["RowDescription \u662f\u540e\u7aef\u534f\u8bae\u6d88\u606f\uff0c\u8868\u793a\u884c\u63cf\u8ff0\u3002"], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Byte1('T')</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6807\u8bc6\u6d88\u606f\u4e3a\u884c\u63cf\u8ff0\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6307\u5b9a\u4e00\u884c\u4e2d\u7684\u5b57\u6bb5\u6570\u91cf\uff08\u53ef\u4ee5\u4e3a\u96f6\uff09\u3002</p>\n</p>\n</dd>\n</dl>\n</div>\n<p lang=\"zh\">\u63a5\u4e0b\u6765\uff0c\u6bcf\u4e2a\u5b57\u6bb5\u90fd\u6709\u4ee5\u4e0b\u5185\u5bb9\uff1a</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt lang=\"zh\">\u5b57\u7b26\u4e32</dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u540d\u79f0\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u8868\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u5217\u7684\u5c5e\u6027\u7f16\u53f7\uff1b\u5426\u5219\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u6570\u636e\u7c7b\u578b\u7684\u5bf9\u8c61 ID\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6570\u636e\u7c7b\u578b\u5927\u5c0f\uff08\u53c2\u89c1<code class=\"varname\">pg_type.typlen</code>\uff09\u3002\u6ce8\u610f\uff0c\u8d1f\u503c\u8868\u793a\u53ef\u53d8\u5bbd\u5ea6\u7c7b\u578b\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u7c7b\u578b\u4fee\u9970\u7b26\uff08\u53c2\u89c1<code class=\"varname\">pg_attribute.atttypmod</code>\uff09\u3002\u4fee\u9970\u7b26\u7684\u542b\u4e49\u662f\u7279\u5b9a\u4e8e\u7c7b\u578b\u7684\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u6240\u4f7f\u7528\u7684\u683c\u5f0f\u4ee3\u7801\u3002\u76ee\u524d\u4e3a\u96f6\uff08\u6587\u672c\uff09\u6216\u4e00\uff08\u4e8c\u8fdb\u5236\uff09\u3002\u5bf9\u4e8e Describe \u9488\u5bf9\u9884\u5907\u8bed\u53e5\u7684\u53d8\u4f53\u6240\u8fd4\u56de\u7684 RowDescription\uff0c\u683c\u5f0f\u4ee3\u7801\u5c1a\u672a\u786e\u5b9a\uff0c\u59cb\u7ec8\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/11/protocol-message-formats.html", "localization": {"status": "complete", "sources": [{"url": "/docs/11/datatype-json.html", "method": "same-major semantic node", "sha256": "e3239ad05fc4bad945529e631d9e5da84363b31e6e589461b97d69386cc43e7f", "language": "zh", "matched_nodes": ["#DATATYPE-JSON/div[18]/pre[23]/em[4]/code[0]"]}, {"url": "/docs/11/protocol-message-formats.html", "method": "same-major semantic node", "sha256": "9726c6197a98d51a4e85474eefe4eebef23c1e01c1accd23e4633aa0e78288ea", "language": "zh", "matched_nodes": ["#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[1]/div[0]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[0]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[0]/dl[0]/dd[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[11]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[13]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[7]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[9]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/p[1]"]}], "language": "zh", "original_text": {"/versions/11/description/0": "RowDescription is a backend protocol message. Identifies the message as a row description.", "/versions/11/facts/0/label": "Direction", "/versions/11/facts/0/value": "Backend \u2192 frontend", "/versions/11/facts/1/label": "First wire field", "/versions/11/facts/2/label": "Field entries", "/versions/11/facts/3/label": "Documented flow contexts", "/versions/11/facts/3/value": "Simple Query; Extended Query", "/versions/11/tables/0/title": "Wire fields in documented order", "/versions/11/related/0/label": "Protocol flow and exchange examples", "/versions/11/related/1/label": "Protocol overview", "/versions/11/related/2/label": "Simple Query", "/versions/11/related/3/label": "Extended Query", "/versions/11/sections/0/title": "Framing and repetition", "/versions/11/tables/0/rows/0/c2": "Identifies the message as a row description.", "/versions/11/tables/0/rows/1/c2": "Length of message contents in bytes, including self.", "/versions/11/tables/0/rows/2/c2": "Specifies the number of fields in a row (can be zero).", "/versions/11/tables/0/rows/3/c1": "String", "/versions/11/tables/0/rows/3/c2": "The field name.", "/versions/11/tables/0/rows/4/c2": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero.", "/versions/11/tables/0/rows/5/c2": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero.", "/versions/11/tables/0/rows/6/c2": "The object ID of the field's data type.", "/versions/11/tables/0/rows/7/c2": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types.", "/versions/11/tables/0/rows/8/c2": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific.", "/versions/11/tables/0/rows/9/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.", "/versions/11/sections/0/paragraphs/0": "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.", "/versions/11/tables/0/columns/0/label": "Position", "/versions/11/tables/0/columns/1/label": "Format", "/versions/11/tables/0/columns/2/label": "Meaning"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "e24a8711cd44d3d44e47439e128f880f0f49fefb746b7e42a8dab16f761be7c9"}, "comparison_data": {"fields": [{"format": "Byte1('T')", "description": "Identifies the message as a row description."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int16", "description": "Specifies the number of fields in a row (can be zero)."}, {"format": "String", "description": "The field name."}, {"format": "Int32", "description": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero."}, {"format": "Int16", "description": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero."}, {"format": "Int32", "description": "The object ID of the field's data type."}, {"format": "Int16", "description": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types."}, {"format": "Int32", "description": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific."}, {"format": "Int16", "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."}], "direction": "B"}, "comparison_hash": "c9564ef40952fb1d8e6902b417759ad1c7f1cdb53baa6e854aa77b36a730a851", "manual_language": "zh"}, "12": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('T')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "10"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2"}], "fields": [{"format": "Byte1('T')", "description": "Identifies the message as a row description."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int16", "description": "Specifies the number of fields in a row (can be zero)."}, {"format": "String", "description": "The field name."}, {"format": "Int32", "description": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero."}, {"format": "Int16", "description": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero."}, {"format": "Int32", "description": "The object ID of the field's data type."}, {"format": "Int16", "description": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types."}, {"format": "Int32", "description": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific."}, {"format": "Int16", "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."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('T')", "c2": "\u6807\u8bc6\u6d88\u606f\u4e3a\u884c\u63cf\u8ff0\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "Int16", "c2": "\u6307\u5b9a\u4e00\u884c\u4e2d\u7684\u5b57\u6bb5\u6570\u91cf\uff08\u53ef\u4ee5\u4e3a\u96f6\uff09\u3002"}, {"c0": "4", "c1": "\u5b57\u7b26\u4e32", "c2": "\u5b57\u6bb5\u540d\u79f0\u3002"}, {"c0": "5", "c1": "Int32", "c2": "\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u8868\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a\u96f6\u3002"}, {"c0": "6", "c1": "Int16", "c2": "\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u5217\u7684\u5c5e\u6027\u7f16\u53f7\uff1b\u5426\u5219\u4e3a\u96f6\u3002"}, {"c0": "7", "c1": "Int32", "c2": "\u5b57\u6bb5\u6570\u636e\u7c7b\u578b\u7684\u5bf9\u8c61 ID\u3002"}, {"c0": "8", "c1": "Int16", "c2": "\u6570\u636e\u7c7b\u578b\u5927\u5c0f\uff08\u53c2\u89c1 pg_type.typlen \uff09\u3002\u6ce8\u610f\uff0c\u8d1f\u503c\u8868\u793a\u53ef\u53d8\u5bbd\u5ea6\u7c7b\u578b\u3002"}, {"c0": "9", "c1": "Int32", "c2": "\u7c7b\u578b\u4fee\u9970\u7b26\uff08\u53c2\u89c1 pg_attribute.atttypmod \uff09\u3002\u4fee\u9970\u7b26\u7684\u542b\u4e49\u662f\u7279\u5b9a\u4e8e\u7c7b\u578b\u7684\u3002"}, {"c0": "10", "c1": "Int16", "c2": "\u5b57\u6bb5\u6240\u4f7f\u7528\u7684\u683c\u5f0f\u4ee3\u7801\u3002\u76ee\u524d\u4e3a\u96f6\uff08\u6587\u672c\uff09\u6216\u4e00\uff08\u4e8c\u8fdb\u5236\uff09\u3002\u5bf9\u4e8e Describe \u9488\u5bf9\u9884\u5907\u8bed\u53e5\u7684\u53d8\u4f53\u6240\u8fd4\u56de\u7684 RowDescription\uff0c\u683c\u5f0f\u4ee3\u7801\u5c1a\u672a\u786e\u5b9a\uff0c\u59cb\u7ec8\u4e3a\u96f6\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "related": [{"url": "/docs/12/protocol-flow.html", "label": "\u534f\u8bae\u6d41\u7a0b\u4e0e\u4ea4\u4e92\u793a\u4f8b"}, {"url": "/docs/12/protocol-overview.html", "label": "\u534f\u8bae\u6982\u8ff0"}, {"url": "/docs/12/protocol-flow.html#id-1.10.5.7.4", "label": "\u7b80\u5355\u67e5\u8be2"}, {"url": "/docs/12/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "\u6269\u5c55\u67e5\u8be2"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "label": "12.22", "major": "12", "channel": "stable", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "sources": [{"url": "https://pg.center/docs/12/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "path": "protocol-message-formats.html", "label": "PostgreSQL 12 English manual", "sha256": "00f6cafbcaad89c7e7982faed10a2896b7188de151ac9137633021207f7c2b70", "language": "en", "original_url": "/docs/12/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS"}], "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "direction": "B", "signature": "RowDescription (B)", "description": ["RowDescription \u662f\u540e\u7aef\u534f\u8bae\u6d88\u606f\uff0c\u8868\u793a\u884c\u63cf\u8ff0\u3002"], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Byte1('T')</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6807\u8bc6\u6d88\u606f\u4e3a\u884c\u63cf\u8ff0\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6307\u5b9a\u4e00\u884c\u4e2d\u7684\u5b57\u6bb5\u6570\u91cf\uff08\u53ef\u4ee5\u4e3a\u96f6\uff09\u3002</p>\n</p>\n</dd>\n</dl>\n</div>\n<p lang=\"zh\">\u63a5\u4e0b\u6765\uff0c\u6bcf\u4e2a\u5b57\u6bb5\u90fd\u6709\u4ee5\u4e0b\u5185\u5bb9\uff1a</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt lang=\"zh\">\u5b57\u7b26\u4e32</dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u540d\u79f0\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u8868\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u5217\u7684\u5c5e\u6027\u7f16\u53f7\uff1b\u5426\u5219\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u6570\u636e\u7c7b\u578b\u7684\u5bf9\u8c61 ID\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6570\u636e\u7c7b\u578b\u5927\u5c0f\uff08\u53c2\u89c1<code class=\"varname\">pg_type.typlen</code>\uff09\u3002\u6ce8\u610f\uff0c\u8d1f\u503c\u8868\u793a\u53ef\u53d8\u5bbd\u5ea6\u7c7b\u578b\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u7c7b\u578b\u4fee\u9970\u7b26\uff08\u53c2\u89c1<code class=\"varname\">pg_attribute.atttypmod</code>\uff09\u3002\u4fee\u9970\u7b26\u7684\u542b\u4e49\u662f\u7279\u5b9a\u4e8e\u7c7b\u578b\u7684\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u6240\u4f7f\u7528\u7684\u683c\u5f0f\u4ee3\u7801\u3002\u76ee\u524d\u4e3a\u96f6\uff08\u6587\u672c\uff09\u6216\u4e00\uff08\u4e8c\u8fdb\u5236\uff09\u3002\u5bf9\u4e8e Describe \u9488\u5bf9\u9884\u5907\u8bed\u53e5\u7684\u53d8\u4f53\u6240\u8fd4\u56de\u7684 RowDescription\uff0c\u683c\u5f0f\u4ee3\u7801\u5c1a\u672a\u786e\u5b9a\uff0c\u59cb\u7ec8\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/12/protocol-message-formats.html", "localization": {"status": "complete", "sources": [{"url": "/docs/12/datatype-json.html", "method": "same-major semantic node", "sha256": "5a46150e3fb4bd47dd2a421735d2e7672c4368f9209446b850d6adbf92d51b7e", "language": "zh", "matched_nodes": ["#DATATYPE-JSON/div[19]/pre[27]/em[4]/code[0]"]}, {"url": "/docs/12/protocol-message-formats.html", "method": "same-major semantic node", "sha256": "1d8b90803d96546f1f4c7412e486a669852503476ec078069948005061c1122c", "language": "zh", "matched_nodes": ["#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[1]/div[0]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[0]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[0]/dl[0]/dd[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[11]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[13]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[7]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[9]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/p[1]"]}], "language": "zh", "original_text": {"/versions/12/description/0": "RowDescription is a backend protocol message. Identifies the message as a row description.", "/versions/12/facts/0/label": "Direction", "/versions/12/facts/0/value": "Backend \u2192 frontend", "/versions/12/facts/1/label": "First wire field", "/versions/12/facts/2/label": "Field entries", "/versions/12/facts/3/label": "Documented flow contexts", "/versions/12/facts/3/value": "Simple Query; Extended Query", "/versions/12/tables/0/title": "Wire fields in documented order", "/versions/12/related/0/label": "Protocol flow and exchange examples", "/versions/12/related/1/label": "Protocol overview", "/versions/12/related/2/label": "Simple Query", "/versions/12/related/3/label": "Extended Query", "/versions/12/sections/0/title": "Framing and repetition", "/versions/12/tables/0/rows/0/c2": "Identifies the message as a row description.", "/versions/12/tables/0/rows/1/c2": "Length of message contents in bytes, including self.", "/versions/12/tables/0/rows/2/c2": "Specifies the number of fields in a row (can be zero).", "/versions/12/tables/0/rows/3/c1": "String", "/versions/12/tables/0/rows/3/c2": "The field name.", "/versions/12/tables/0/rows/4/c2": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero.", "/versions/12/tables/0/rows/5/c2": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero.", "/versions/12/tables/0/rows/6/c2": "The object ID of the field's data type.", "/versions/12/tables/0/rows/7/c2": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types.", "/versions/12/tables/0/rows/8/c2": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific.", "/versions/12/tables/0/rows/9/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.", "/versions/12/sections/0/paragraphs/0": "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.", "/versions/12/tables/0/columns/0/label": "Position", "/versions/12/tables/0/columns/1/label": "Format", "/versions/12/tables/0/columns/2/label": "Meaning"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "ae7164426cb00248aeb2087216a6dbdf949a95a42861c0f57598e05922c5bbcf"}, "comparison_data": {"fields": [{"format": "Byte1('T')", "description": "Identifies the message as a row description."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int16", "description": "Specifies the number of fields in a row (can be zero)."}, {"format": "String", "description": "The field name."}, {"format": "Int32", "description": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero."}, {"format": "Int16", "description": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero."}, {"format": "Int32", "description": "The object ID of the field's data type."}, {"format": "Int16", "description": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types."}, {"format": "Int32", "description": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific."}, {"format": "Int16", "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."}], "direction": "B"}, "comparison_hash": "c9564ef40952fb1d8e6902b417759ad1c7f1cdb53baa6e854aa77b36a730a851", "manual_language": "zh"}, "13": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('T')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "10"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2"}], "fields": [{"format": "Byte1('T')", "description": "Identifies the message as a row description."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int16", "description": "Specifies the number of fields in a row (can be zero)."}, {"format": "String", "description": "The field name."}, {"format": "Int32", "description": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero."}, {"format": "Int16", "description": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero."}, {"format": "Int32", "description": "The object ID of the field's data type."}, {"format": "Int16", "description": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types."}, {"format": "Int32", "description": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific."}, {"format": "Int16", "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."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('T')", "c2": "\u6807\u8bc6\u6d88\u606f\u4e3a\u884c\u63cf\u8ff0\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "Int16", "c2": "\u6307\u5b9a\u4e00\u884c\u4e2d\u7684\u5b57\u6bb5\u6570\u91cf\uff08\u53ef\u4ee5\u4e3a\u96f6\uff09\u3002"}, {"c0": "4", "c1": "\u5b57\u7b26\u4e32", "c2": "\u5b57\u6bb5\u540d\u79f0\u3002"}, {"c0": "5", "c1": "Int32", "c2": "\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u8868\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a\u96f6\u3002"}, {"c0": "6", "c1": "Int16", "c2": "\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u5217\u7684\u5c5e\u6027\u7f16\u53f7\uff1b\u5426\u5219\u4e3a\u96f6\u3002"}, {"c0": "7", "c1": "Int32", "c2": "\u5b57\u6bb5\u6570\u636e\u7c7b\u578b\u7684\u5bf9\u8c61 ID\u3002"}, {"c0": "8", "c1": "Int16", "c2": "\u6570\u636e\u7c7b\u578b\u5927\u5c0f\uff08\u53c2\u89c1 pg_type.typlen \uff09\u3002\u6ce8\u610f\uff0c\u8d1f\u503c\u8868\u793a\u53ef\u53d8\u5bbd\u5ea6\u7c7b\u578b\u3002"}, {"c0": "9", "c1": "Int32", "c2": "\u7c7b\u578b\u4fee\u9970\u7b26\uff08\u53c2\u89c1 pg_attribute.atttypmod \uff09\u3002\u4fee\u9970\u7b26\u7684\u542b\u4e49\u662f\u7279\u5b9a\u4e8e\u7c7b\u578b\u7684\u3002"}, {"c0": "10", "c1": "Int16", "c2": "\u5b57\u6bb5\u6240\u4f7f\u7528\u7684\u683c\u5f0f\u4ee3\u7801\u3002\u76ee\u524d\u4e3a\u96f6\uff08\u6587\u672c\uff09\u6216\u4e00\uff08\u4e8c\u8fdb\u5236\uff09\u3002\u5bf9\u4e8e Describe \u9488\u5bf9\u9884\u5907\u8bed\u53e5\u7684\u53d8\u4f53\u6240\u8fd4\u56de\u7684 RowDescription\uff0c\u683c\u5f0f\u4ee3\u7801\u5c1a\u672a\u786e\u5b9a\uff0c\u59cb\u7ec8\u4e3a\u96f6\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "related": [{"url": "/docs/13/protocol-flow.html", "label": "\u534f\u8bae\u6d41\u7a0b\u4e0e\u4ea4\u4e92\u793a\u4f8b"}, {"url": "/docs/13/protocol-overview.html", "label": "\u534f\u8bae\u6982\u8ff0"}, {"url": "/docs/13/protocol-flow.html#id-1.10.5.7.4", "label": "\u7b80\u5355\u67e5\u8be2"}, {"url": "/docs/13/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "\u6269\u5c55\u67e5\u8be2"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "label": "13.23", "major": "13", "channel": "stable", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "sources": [{"url": "https://pg.center/docs/13/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "path": "protocol-message-formats.html", "label": "PostgreSQL 13 English manual", "sha256": "86bc62b343a9bd881a6832cced7d81285a9924985ea598ee2b207bbb4ba9666e", "language": "en", "original_url": "/docs/13/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS"}], "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "direction": "B", "signature": "RowDescription (B)", "description": ["RowDescription \u662f\u540e\u7aef\u534f\u8bae\u6d88\u606f\uff0c\u8868\u793a\u884c\u63cf\u8ff0\u3002"], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Byte1('T')</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6807\u8bc6\u6d88\u606f\u4e3a\u884c\u63cf\u8ff0\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6307\u5b9a\u4e00\u884c\u4e2d\u7684\u5b57\u6bb5\u6570\u91cf\uff08\u53ef\u4ee5\u4e3a\u96f6\uff09\u3002</p>\n</p>\n</dd>\n</dl>\n</div>\n<p lang=\"zh\">\u63a5\u4e0b\u6765\uff0c\u6bcf\u4e2a\u5b57\u6bb5\u90fd\u6709\u4ee5\u4e0b\u5185\u5bb9\uff1a</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt lang=\"zh\">\u5b57\u7b26\u4e32</dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u540d\u79f0\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u8868\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u5217\u7684\u5c5e\u6027\u7f16\u53f7\uff1b\u5426\u5219\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u6570\u636e\u7c7b\u578b\u7684\u5bf9\u8c61 ID\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6570\u636e\u7c7b\u578b\u5927\u5c0f\uff08\u53c2\u89c1<code class=\"varname\">pg_type.typlen</code>\uff09\u3002\u6ce8\u610f\uff0c\u8d1f\u503c\u8868\u793a\u53ef\u53d8\u5bbd\u5ea6\u7c7b\u578b\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u7c7b\u578b\u4fee\u9970\u7b26\uff08\u53c2\u89c1<code class=\"varname\">pg_attribute.atttypmod</code>\uff09\u3002\u4fee\u9970\u7b26\u7684\u542b\u4e49\u662f\u7279\u5b9a\u4e8e\u7c7b\u578b\u7684\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u6240\u4f7f\u7528\u7684\u683c\u5f0f\u4ee3\u7801\u3002\u76ee\u524d\u4e3a\u96f6\uff08\u6587\u672c\uff09\u6216\u4e00\uff08\u4e8c\u8fdb\u5236\uff09\u3002\u5bf9\u4e8e Describe \u9488\u5bf9\u9884\u5907\u8bed\u53e5\u7684\u53d8\u4f53\u6240\u8fd4\u56de\u7684 RowDescription\uff0c\u683c\u5f0f\u4ee3\u7801\u5c1a\u672a\u786e\u5b9a\uff0c\u59cb\u7ec8\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/13/protocol-message-formats.html", "localization": {"status": "complete", "sources": [{"url": "/docs/13/datatype-json.html", "method": "same-major semantic node", "sha256": "4f40d591dd48f8b5cb58a4f0af9b824d2b0b6dee2132a6a010128e4f9b64184b", "language": "zh", "matched_nodes": ["#DATATYPE-JSON/div[19]/pre[27]/em[4]/code[0]"]}, {"url": "/docs/13/protocol-message-formats.html", "method": "same-major semantic node", "sha256": "90801323e211e99834ac2c19f534fccad08d74098fbce82899c1e1970d871906", "language": "zh", "matched_nodes": ["#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[1]/div[0]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[0]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[0]/dl[0]/dd[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[11]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[13]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[7]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[9]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/p[1]"]}], "language": "zh", "original_text": {"/versions/13/description/0": "RowDescription is a backend protocol message. Identifies the message as a row description.", "/versions/13/facts/0/label": "Direction", "/versions/13/facts/0/value": "Backend \u2192 frontend", "/versions/13/facts/1/label": "First wire field", "/versions/13/facts/2/label": "Field entries", "/versions/13/facts/3/label": "Documented flow contexts", "/versions/13/facts/3/value": "Simple Query; Extended Query", "/versions/13/tables/0/title": "Wire fields in documented order", "/versions/13/related/0/label": "Protocol flow and exchange examples", "/versions/13/related/1/label": "Protocol overview", "/versions/13/related/2/label": "Simple Query", "/versions/13/related/3/label": "Extended Query", "/versions/13/sections/0/title": "Framing and repetition", "/versions/13/tables/0/rows/0/c2": "Identifies the message as a row description.", "/versions/13/tables/0/rows/1/c2": "Length of message contents in bytes, including self.", "/versions/13/tables/0/rows/2/c2": "Specifies the number of fields in a row (can be zero).", "/versions/13/tables/0/rows/3/c1": "String", "/versions/13/tables/0/rows/3/c2": "The field name.", "/versions/13/tables/0/rows/4/c2": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero.", "/versions/13/tables/0/rows/5/c2": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero.", "/versions/13/tables/0/rows/6/c2": "The object ID of the field's data type.", "/versions/13/tables/0/rows/7/c2": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types.", "/versions/13/tables/0/rows/8/c2": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific.", "/versions/13/tables/0/rows/9/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.", "/versions/13/sections/0/paragraphs/0": "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.", "/versions/13/tables/0/columns/0/label": "Position", "/versions/13/tables/0/columns/1/label": "Format", "/versions/13/tables/0/columns/2/label": "Meaning"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "5d35ffa1a2dbb1679ad72937c3d249c2d2ad2a60ed23f292a9ed379bed1f64ac"}, "comparison_data": {"fields": [{"format": "Byte1('T')", "description": "Identifies the message as a row description."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int16", "description": "Specifies the number of fields in a row (can be zero)."}, {"format": "String", "description": "The field name."}, {"format": "Int32", "description": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero."}, {"format": "Int16", "description": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero."}, {"format": "Int32", "description": "The object ID of the field's data type."}, {"format": "Int16", "description": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types."}, {"format": "Int32", "description": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific."}, {"format": "Int16", "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."}], "direction": "B"}, "comparison_hash": "c9564ef40952fb1d8e6902b417759ad1c7f1cdb53baa6e854aa77b36a730a851", "manual_language": "zh"}, "14": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('T')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "10"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2"}], "fields": [{"format": "Byte1('T')", "description": "Identifies the message as a row description."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int16", "description": "Specifies the number of fields in a row (can be zero)."}, {"format": "String", "description": "The field name."}, {"format": "Int32", "description": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero."}, {"format": "Int16", "description": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero."}, {"format": "Int32", "description": "The object ID of the field's data type."}, {"format": "Int16", "description": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types."}, {"format": "Int32", "description": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific."}, {"format": "Int16", "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."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('T')", "c2": "\u6807\u8bc6\u6d88\u606f\u4e3a\u884c\u63cf\u8ff0\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "Int16", "c2": "\u6307\u5b9a\u4e00\u884c\u4e2d\u7684\u5b57\u6bb5\u6570\u91cf\uff08\u53ef\u4ee5\u4e3a\u96f6\uff09\u3002"}, {"c0": "4", "c1": "\u5b57\u7b26\u4e32", "c2": "\u5b57\u6bb5\u540d\u79f0\u3002"}, {"c0": "5", "c1": "Int32", "c2": "\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u8868\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a\u96f6\u3002"}, {"c0": "6", "c1": "Int16", "c2": "\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u5217\u7684\u5c5e\u6027\u7f16\u53f7\uff1b\u5426\u5219\u4e3a\u96f6\u3002"}, {"c0": "7", "c1": "Int32", "c2": "\u5b57\u6bb5\u6570\u636e\u7c7b\u578b\u7684\u5bf9\u8c61 ID\u3002"}, {"c0": "8", "c1": "Int16", "c2": "\u6570\u636e\u7c7b\u578b\u5927\u5c0f\uff08\u53c2\u89c1 pg_type.typlen \uff09\u3002\u6ce8\u610f\uff0c\u8d1f\u503c\u8868\u793a\u53ef\u53d8\u5bbd\u5ea6\u7c7b\u578b\u3002"}, {"c0": "9", "c1": "Int32", "c2": "\u7c7b\u578b\u4fee\u9970\u7b26\uff08\u53c2\u89c1 pg_attribute.atttypmod \uff09\u3002\u4fee\u9970\u7b26\u7684\u542b\u4e49\u662f\u7279\u5b9a\u4e8e\u7c7b\u578b\u7684\u3002"}, {"c0": "10", "c1": "Int16", "c2": "\u5b57\u6bb5\u6240\u4f7f\u7528\u7684\u683c\u5f0f\u4ee3\u7801\u3002\u76ee\u524d\u4e3a\u96f6\uff08\u6587\u672c\uff09\u6216\u4e00\uff08\u4e8c\u8fdb\u5236\uff09\u3002\u5bf9\u4e8e Describe \u9488\u5bf9\u9884\u5907\u8bed\u53e5\u7684\u53d8\u4f53\u6240\u8fd4\u56de\u7684 RowDescription\uff0c\u683c\u5f0f\u4ee3\u7801\u5c1a\u672a\u786e\u5b9a\uff0c\u59cb\u7ec8\u4e3a\u96f6\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "related": [{"url": "/docs/14/protocol-flow.html", "label": "\u534f\u8bae\u6d41\u7a0b\u4e0e\u4ea4\u4e92\u793a\u4f8b"}, {"url": "/docs/14/protocol-overview.html", "label": "\u534f\u8bae\u6982\u8ff0"}, {"url": "/docs/14/protocol-flow.html#id-1.10.5.7.4", "label": "\u7b80\u5355\u67e5\u8be2"}, {"url": "/docs/14/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "\u6269\u5c55\u67e5\u8be2"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "sources": [{"url": "https://pg.center/docs/14/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "path": "protocol-message-formats.html", "label": "PostgreSQL 14 English manual", "sha256": "250fd6a2529964948260a546f72931e259885bb222b62c3bdbf5ab402b72987b", "language": "en", "original_url": "/docs/14/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS"}], "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "direction": "B", "signature": "RowDescription (B)", "description": ["RowDescription \u662f\u540e\u7aef\u534f\u8bae\u6d88\u606f\uff0c\u8868\u793a\u884c\u63cf\u8ff0\u3002"], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Byte1('T')</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6807\u8bc6\u6d88\u606f\u4e3a\u884c\u63cf\u8ff0\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6307\u5b9a\u4e00\u884c\u4e2d\u7684\u5b57\u6bb5\u6570\u91cf\uff08\u53ef\u4ee5\u4e3a\u96f6\uff09\u3002</p>\n</p>\n</dd>\n</dl>\n</div>\n<p lang=\"zh\">\u63a5\u4e0b\u6765\uff0c\u6bcf\u4e2a\u5b57\u6bb5\u90fd\u6709\u4ee5\u4e0b\u5185\u5bb9\uff1a</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt lang=\"zh\">\u5b57\u7b26\u4e32</dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u540d\u79f0\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u8868\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u5217\u7684\u5c5e\u6027\u7f16\u53f7\uff1b\u5426\u5219\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u6570\u636e\u7c7b\u578b\u7684\u5bf9\u8c61 ID\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6570\u636e\u7c7b\u578b\u5927\u5c0f\uff08\u53c2\u89c1<code class=\"varname\">pg_type.typlen</code>\uff09\u3002\u6ce8\u610f\uff0c\u8d1f\u503c\u8868\u793a\u53ef\u53d8\u5bbd\u5ea6\u7c7b\u578b\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u7c7b\u578b\u4fee\u9970\u7b26\uff08\u53c2\u89c1<code class=\"varname\">pg_attribute.atttypmod</code>\uff09\u3002\u4fee\u9970\u7b26\u7684\u542b\u4e49\u662f\u7279\u5b9a\u4e8e\u7c7b\u578b\u7684\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u6240\u4f7f\u7528\u7684\u683c\u5f0f\u4ee3\u7801\u3002\u76ee\u524d\u4e3a\u96f6\uff08\u6587\u672c\uff09\u6216\u4e00\uff08\u4e8c\u8fdb\u5236\uff09\u3002\u5bf9\u4e8e Describe \u9488\u5bf9\u9884\u5907\u8bed\u53e5\u7684\u53d8\u4f53\u6240\u8fd4\u56de\u7684 RowDescription\uff0c\u683c\u5f0f\u4ee3\u7801\u5c1a\u672a\u786e\u5b9a\uff0c\u59cb\u7ec8\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/14/protocol-message-formats.html", "localization": {"status": "complete", "sources": [{"url": "/docs/14/datatype-json.html", "method": "same-major semantic node", "sha256": "6caaf22252a97833322c667923644122c2e880284c9f623b4ccbad4929b6ce66", "language": "zh", "matched_nodes": ["#DATATYPE-JSON/div[19]/pre[27]/em[4]/code[0]"]}, {"url": "/docs/14/protocol-message-formats.html", "method": "same-major semantic node", "sha256": "a125a259c8ea8299be50b5d5d8241c513d8b38df4c6f16cf53b7949a63e2f8aa", "language": "zh", "matched_nodes": ["#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[1]/div[0]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[93]/div[0]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[93]/div[0]/dl[0]/dd[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[93]/div[2]/dl[0]/dd[11]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[93]/div[2]/dl[0]/dd[13]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[93]/div[2]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[93]/div[2]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[93]/div[2]/dl[0]/dd[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[93]/div[2]/dl[0]/dd[7]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[93]/div[2]/dl[0]/dd[9]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[93]/p[1]"]}], "language": "zh", "original_text": {"/versions/14/description/0": "RowDescription is a backend protocol message. Identifies the message as a row description.", "/versions/14/facts/0/label": "Direction", "/versions/14/facts/0/value": "Backend \u2192 frontend", "/versions/14/facts/1/label": "First wire field", "/versions/14/facts/2/label": "Field entries", "/versions/14/facts/3/label": "Documented flow contexts", "/versions/14/facts/3/value": "Simple Query; Extended Query", "/versions/14/tables/0/title": "Wire fields in documented order", "/versions/14/related/0/label": "Protocol flow and exchange examples", "/versions/14/related/1/label": "Protocol overview", "/versions/14/related/2/label": "Simple Query", "/versions/14/related/3/label": "Extended Query", "/versions/14/sections/0/title": "Framing and repetition", "/versions/14/tables/0/rows/0/c2": "Identifies the message as a row description.", "/versions/14/tables/0/rows/1/c2": "Length of message contents in bytes, including self.", "/versions/14/tables/0/rows/2/c2": "Specifies the number of fields in a row (can be zero).", "/versions/14/tables/0/rows/3/c1": "String", "/versions/14/tables/0/rows/3/c2": "The field name.", "/versions/14/tables/0/rows/4/c2": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero.", "/versions/14/tables/0/rows/5/c2": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero.", "/versions/14/tables/0/rows/6/c2": "The object ID of the field's data type.", "/versions/14/tables/0/rows/7/c2": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types.", "/versions/14/tables/0/rows/8/c2": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific.", "/versions/14/tables/0/rows/9/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.", "/versions/14/sections/0/paragraphs/0": "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.", "/versions/14/tables/0/columns/0/label": "Position", "/versions/14/tables/0/columns/1/label": "Format", "/versions/14/tables/0/columns/2/label": "Meaning"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "1ad883247877a1a2f479cc85f005c42f8f0218d524a158f8e6f0f1191912dc40"}, "comparison_data": {"fields": [{"format": "Byte1('T')", "description": "Identifies the message as a row description."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int16", "description": "Specifies the number of fields in a row (can be zero)."}, {"format": "String", "description": "The field name."}, {"format": "Int32", "description": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero."}, {"format": "Int16", "description": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero."}, {"format": "Int32", "description": "The object ID of the field's data type."}, {"format": "Int16", "description": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types."}, {"format": "Int32", "description": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific."}, {"format": "Int16", "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."}], "direction": "B"}, "comparison_hash": "c9564ef40952fb1d8e6902b417759ad1c7f1cdb53baa6e854aa77b36a730a851", "manual_language": "zh"}, "15": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('T')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "10"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2"}], "fields": [{"format": "Byte1('T')", "description": "Identifies the message as a row description."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int16", "description": "Specifies the number of fields in a row (can be zero)."}, {"format": "String", "description": "The field name."}, {"format": "Int32", "description": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero."}, {"format": "Int16", "description": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero."}, {"format": "Int32", "description": "The object ID of the field's data type."}, {"format": "Int16", "description": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types."}, {"format": "Int32", "description": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific."}, {"format": "Int16", "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."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('T')", "c2": "\u6807\u8bc6\u6d88\u606f\u4e3a\u884c\u63cf\u8ff0\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "Int16", "c2": "\u6307\u5b9a\u4e00\u884c\u4e2d\u7684\u5b57\u6bb5\u6570\u91cf\uff08\u53ef\u4ee5\u4e3a\u96f6\uff09\u3002"}, {"c0": "4", "c1": "\u5b57\u7b26\u4e32", "c2": "\u5b57\u6bb5\u540d\u79f0\u3002"}, {"c0": "5", "c1": "Int32", "c2": "\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u8868\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a\u96f6\u3002"}, {"c0": "6", "c1": "Int16", "c2": "\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u5217\u7684\u5c5e\u6027\u7f16\u53f7\uff1b\u5426\u5219\u4e3a\u96f6\u3002"}, {"c0": "7", "c1": "Int32", "c2": "\u5b57\u6bb5\u6570\u636e\u7c7b\u578b\u7684\u5bf9\u8c61 ID\u3002"}, {"c0": "8", "c1": "Int16", "c2": "\u6570\u636e\u7c7b\u578b\u5927\u5c0f\uff08\u53c2\u89c1 pg_type.typlen \uff09\u3002\u6ce8\u610f\uff0c\u8d1f\u503c\u8868\u793a\u53ef\u53d8\u5bbd\u5ea6\u7c7b\u578b\u3002"}, {"c0": "9", "c1": "Int32", "c2": "\u7c7b\u578b\u4fee\u9970\u7b26\uff08\u53c2\u89c1 pg_attribute.atttypmod \uff09\u3002\u4fee\u9970\u7b26\u7684\u542b\u4e49\u662f\u7279\u5b9a\u4e8e\u7c7b\u578b\u7684\u3002"}, {"c0": "10", "c1": "Int16", "c2": "\u5b57\u6bb5\u6240\u4f7f\u7528\u7684\u683c\u5f0f\u4ee3\u7801\u3002\u76ee\u524d\u4e3a\u96f6\uff08\u6587\u672c\uff09\u6216\u4e00\uff08\u4e8c\u8fdb\u5236\uff09\u3002\u5bf9\u4e8e Describe \u9488\u5bf9\u9884\u5907\u8bed\u53e5\u7684\u53d8\u4f53\u6240\u8fd4\u56de\u7684 RowDescription\uff0c\u683c\u5f0f\u4ee3\u7801\u5c1a\u672a\u786e\u5b9a\uff0c\u59cb\u7ec8\u4e3a\u96f6\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "related": [{"url": "/docs/15/protocol-flow.html", "label": "\u534f\u8bae\u6d41\u7a0b\u4e0e\u4ea4\u4e92\u793a\u4f8b"}, {"url": "/docs/15/protocol-overview.html", "label": "\u534f\u8bae\u6982\u8ff0"}, {"url": "/docs/15/protocol-flow.html#id-1.10.6.7.4", "label": "\u7b80\u5355\u67e5\u8be2"}, {"url": "/docs/15/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "\u6269\u5c55\u67e5\u8be2"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "sources": [{"url": "https://pg.center/docs/15/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-ROWDESCRIPTION", "path": "protocol-message-formats.html", "label": "PostgreSQL 15 English manual", "sha256": "8c5c191eef74cd3249dabab5d6714b0f516b88c4658da4d6cce6c003bc45d919", "language": "en", "original_url": "/docs/15/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-ROWDESCRIPTION"}], "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "direction": "B", "signature": "RowDescription (B)", "description": ["RowDescription \u662f\u540e\u7aef\u534f\u8bae\u6d88\u606f\uff0c\u8868\u793a\u884c\u63cf\u8ff0\u3002"], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Byte1('T')</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6807\u8bc6\u6d88\u606f\u4e3a\u884c\u63cf\u8ff0\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6307\u5b9a\u4e00\u884c\u4e2d\u7684\u5b57\u6bb5\u6570\u91cf\uff08\u53ef\u4ee5\u4e3a\u96f6\uff09\u3002</p>\n</p>\n</dd>\n</dl>\n</div>\n<p lang=\"zh\">\u63a5\u4e0b\u6765\uff0c\u6bcf\u4e2a\u5b57\u6bb5\u90fd\u6709\u4ee5\u4e0b\u5185\u5bb9\uff1a</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt lang=\"zh\">\u5b57\u7b26\u4e32</dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u540d\u79f0\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u8868\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u5217\u7684\u5c5e\u6027\u7f16\u53f7\uff1b\u5426\u5219\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u6570\u636e\u7c7b\u578b\u7684\u5bf9\u8c61 ID\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6570\u636e\u7c7b\u578b\u5927\u5c0f\uff08\u53c2\u89c1<code class=\"varname\">pg_type.typlen</code>\uff09\u3002\u6ce8\u610f\uff0c\u8d1f\u503c\u8868\u793a\u53ef\u53d8\u5bbd\u5ea6\u7c7b\u578b\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u7c7b\u578b\u4fee\u9970\u7b26\uff08\u53c2\u89c1<code class=\"varname\">pg_attribute.atttypmod</code>\uff09\u3002\u4fee\u9970\u7b26\u7684\u542b\u4e49\u662f\u7279\u5b9a\u4e8e\u7c7b\u578b\u7684\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u6240\u4f7f\u7528\u7684\u683c\u5f0f\u4ee3\u7801\u3002\u76ee\u524d\u4e3a\u96f6\uff08\u6587\u672c\uff09\u6216\u4e00\uff08\u4e8c\u8fdb\u5236\uff09\u3002\u5bf9\u4e8e Describe \u9488\u5bf9\u9884\u5907\u8bed\u53e5\u7684\u53d8\u4f53\u6240\u8fd4\u56de\u7684 RowDescription\uff0c\u683c\u5f0f\u4ee3\u7801\u5c1a\u672a\u786e\u5b9a\uff0c\u59cb\u7ec8\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/15/protocol-message-formats.html", "localization": {"status": "complete", "sources": [{"url": "/docs/15/datatype-json.html", "method": "same-major semantic node", "sha256": "1de5ac3fcff666e4a6ac070ff5320df19ce2a518ff29c894afc9071d51b938ff", "language": "zh", "matched_nodes": ["#DATATYPE-JSON/div[19]/pre[27]/em[4]/code[0]"]}, {"url": "/docs/15/protocol-message-formats.html", "method": "same-major semantic node", "sha256": "bbc89cd7e243ed7051f6e82b92f54fe8a97cbf4a673c2c4b39d9e8c8b7c422d3", "language": "zh", "matched_nodes": ["#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[1]/div[0]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[93]/div[0]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[93]/div[0]/dl[0]/dd[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[93]/div[2]/dl[0]/dd[11]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[93]/div[2]/dl[0]/dd[13]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[93]/div[2]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[93]/div[2]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[93]/div[2]/dl[0]/dd[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[93]/div[2]/dl[0]/dd[7]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[93]/div[2]/dl[0]/dd[9]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[93]/p[1]"]}], "language": "zh", "original_text": {"/versions/15/description/0": "RowDescription is a backend protocol message. Identifies the message as a row description.", "/versions/15/facts/0/label": "Direction", "/versions/15/facts/0/value": "Backend \u2192 frontend", "/versions/15/facts/1/label": "First wire field", "/versions/15/facts/2/label": "Field entries", "/versions/15/facts/3/label": "Documented flow contexts", "/versions/15/facts/3/value": "Simple Query; Extended Query", "/versions/15/tables/0/title": "Wire fields in documented order", "/versions/15/related/0/label": "Protocol flow and exchange examples", "/versions/15/related/1/label": "Protocol overview", "/versions/15/related/2/label": "Simple Query", "/versions/15/related/3/label": "Extended Query", "/versions/15/sections/0/title": "Framing and repetition", "/versions/15/tables/0/rows/0/c2": "Identifies the message as a row description.", "/versions/15/tables/0/rows/1/c2": "Length of message contents in bytes, including self.", "/versions/15/tables/0/rows/2/c2": "Specifies the number of fields in a row (can be zero).", "/versions/15/tables/0/rows/3/c1": "String", "/versions/15/tables/0/rows/3/c2": "The field name.", "/versions/15/tables/0/rows/4/c2": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero.", "/versions/15/tables/0/rows/5/c2": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero.", "/versions/15/tables/0/rows/6/c2": "The object ID of the field's data type.", "/versions/15/tables/0/rows/7/c2": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types.", "/versions/15/tables/0/rows/8/c2": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific.", "/versions/15/tables/0/rows/9/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.", "/versions/15/sections/0/paragraphs/0": "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.", "/versions/15/tables/0/columns/0/label": "Position", "/versions/15/tables/0/columns/1/label": "Format", "/versions/15/tables/0/columns/2/label": "Meaning"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "276d0a3f3c1b1c326370ceb2587ac432db98da0dc329d4d97244782172840d99"}, "comparison_data": {"fields": [{"format": "Byte1('T')", "description": "Identifies the message as a row description."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int16", "description": "Specifies the number of fields in a row (can be zero)."}, {"format": "String", "description": "The field name."}, {"format": "Int32", "description": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero."}, {"format": "Int16", "description": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero."}, {"format": "Int32", "description": "The object ID of the field's data type."}, {"format": "Int16", "description": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types."}, {"format": "Int32", "description": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific."}, {"format": "Int16", "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."}], "direction": "B"}, "comparison_hash": "c9564ef40952fb1d8e6902b417759ad1c7f1cdb53baa6e854aa77b36a730a851", "manual_language": "zh"}, "16": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('T')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "10"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2"}], "fields": [{"format": "Byte1('T')", "description": "Identifies the message as a row description."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int16", "description": "Specifies the number of fields in a row (can be zero)."}, {"format": "String", "description": "The field name."}, {"format": "Int32", "description": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero."}, {"format": "Int16", "description": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero."}, {"format": "Int32", "description": "The object ID of the field's data type."}, {"format": "Int16", "description": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types."}, {"format": "Int32", "description": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific."}, {"format": "Int16", "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."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('T')", "c2": "\u6807\u8bc6\u6d88\u606f\u4e3a\u884c\u63cf\u8ff0\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "Int16", "c2": "\u6307\u5b9a\u4e00\u884c\u4e2d\u7684\u5b57\u6bb5\u6570\u91cf\uff08\u53ef\u4ee5\u4e3a\u96f6\uff09\u3002"}, {"c0": "4", "c1": "\u5b57\u7b26\u4e32", "c2": "\u5b57\u6bb5\u540d\u79f0\u3002"}, {"c0": "5", "c1": "Int32", "c2": "\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u8868\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a\u96f6\u3002"}, {"c0": "6", "c1": "Int16", "c2": "\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u5217\u7684\u5c5e\u6027\u7f16\u53f7\uff1b\u5426\u5219\u4e3a\u96f6\u3002"}, {"c0": "7", "c1": "Int32", "c2": "\u5b57\u6bb5\u6570\u636e\u7c7b\u578b\u7684\u5bf9\u8c61 ID\u3002"}, {"c0": "8", "c1": "Int16", "c2": "\u6570\u636e\u7c7b\u578b\u5927\u5c0f\uff08\u53c2\u89c1 pg_type.typlen \uff09\u3002\u6ce8\u610f\uff0c\u8d1f\u503c\u8868\u793a\u53ef\u53d8\u5bbd\u5ea6\u7c7b\u578b\u3002"}, {"c0": "9", "c1": "Int32", "c2": "\u7c7b\u578b\u4fee\u9970\u7b26\uff08\u53c2\u89c1 pg_attribute.atttypmod \uff09\u3002\u4fee\u9970\u7b26\u7684\u542b\u4e49\u662f\u7279\u5b9a\u4e8e\u7c7b\u578b\u7684\u3002"}, {"c0": "10", "c1": "Int16", "c2": "\u5b57\u6bb5\u6240\u4f7f\u7528\u7684\u683c\u5f0f\u4ee3\u7801\u3002\u76ee\u524d\u4e3a\u96f6\uff08\u6587\u672c\uff09\u6216\u4e00\uff08\u4e8c\u8fdb\u5236\uff09\u3002\u5bf9\u4e8e Describe \u9488\u5bf9\u9884\u5907\u8bed\u53e5\u7684\u53d8\u4f53\u6240\u8fd4\u56de\u7684 RowDescription\uff0c\u683c\u5f0f\u4ee3\u7801\u5c1a\u672a\u786e\u5b9a\uff0c\u59cb\u7ec8\u4e3a\u96f6\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "related": [{"url": "/docs/16/protocol-flow.html", "label": "\u534f\u8bae\u6d41\u7a0b\u4e0e\u4ea4\u4e92\u793a\u4f8b"}, {"url": "/docs/16/protocol-overview.html", "label": "\u534f\u8bae\u6982\u8ff0"}, {"url": "/docs/16/protocol-flow.html#PROTOCOL-FLOW-SIMPLE-QUERY", "label": "\u7b80\u5355\u67e5\u8be2"}, {"url": "/docs/16/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "\u6269\u5c55\u67e5\u8be2"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "sources": [{"url": "https://pg.center/docs/16/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-ROWDESCRIPTION", "path": "protocol-message-formats.html", "label": "PostgreSQL 16 English manual", "sha256": "c15646b30727f469cdac3bd411e50dc9b14ee85982a9c9c8a2b3e16449b39a46", "language": "en", "original_url": "/docs/16/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-ROWDESCRIPTION"}], "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "direction": "B", "signature": "RowDescription (B)", "description": ["RowDescription \u662f\u540e\u7aef\u534f\u8bae\u6d88\u606f\uff0c\u8868\u793a\u884c\u63cf\u8ff0\u3002"], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Byte1('T')</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6807\u8bc6\u6d88\u606f\u4e3a\u884c\u63cf\u8ff0\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6307\u5b9a\u4e00\u884c\u4e2d\u7684\u5b57\u6bb5\u6570\u91cf\uff08\u53ef\u4ee5\u4e3a\u96f6\uff09\u3002</p>\n</p>\n</dd>\n</dl>\n</div>\n<p lang=\"zh\">\u63a5\u4e0b\u6765\uff0c\u6bcf\u4e2a\u5b57\u6bb5\u90fd\u6709\u4ee5\u4e0b\u5185\u5bb9\uff1a</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt lang=\"zh\">\u5b57\u7b26\u4e32</dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u540d\u79f0\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u8868\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u5217\u7684\u5c5e\u6027\u7f16\u53f7\uff1b\u5426\u5219\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u6570\u636e\u7c7b\u578b\u7684\u5bf9\u8c61 ID\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6570\u636e\u7c7b\u578b\u5927\u5c0f\uff08\u53c2\u89c1<code class=\"varname\">pg_type.typlen</code>\uff09\u3002\u6ce8\u610f\uff0c\u8d1f\u503c\u8868\u793a\u53ef\u53d8\u5bbd\u5ea6\u7c7b\u578b\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u7c7b\u578b\u4fee\u9970\u7b26\uff08\u53c2\u89c1<code class=\"varname\">pg_attribute.atttypmod</code>\uff09\u3002\u4fee\u9970\u7b26\u7684\u542b\u4e49\u662f\u7279\u5b9a\u4e8e\u7c7b\u578b\u7684\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u6240\u4f7f\u7528\u7684\u683c\u5f0f\u4ee3\u7801\u3002\u76ee\u524d\u4e3a\u96f6\uff08\u6587\u672c\uff09\u6216\u4e00\uff08\u4e8c\u8fdb\u5236\uff09\u3002\u5bf9\u4e8e Describe \u9488\u5bf9\u9884\u5907\u8bed\u53e5\u7684\u53d8\u4f53\u6240\u8fd4\u56de\u7684 RowDescription\uff0c\u683c\u5f0f\u4ee3\u7801\u5c1a\u672a\u786e\u5b9a\uff0c\u59cb\u7ec8\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/16/protocol-message-formats.html", "localization": {"status": "complete", "sources": [{"url": "/docs/16/datatype-json.html", "method": "same-major semantic node", "sha256": "4d3ca6065016169a03abc9b3a57654fda5765ebb94074fa4eb578485f6807205", "language": "zh", "matched_nodes": ["#DATATYPE-JSON/div[19]/pre[27]/em[4]/code[0]"]}, {"url": "/docs/16/protocol-message-formats.html", "method": "same-major semantic node", "sha256": "638e90eeb4ff3d56cd0c9c95e1203af6bb87aa147ec72623c9dd5eb4b9605ec3", "language": "zh", "matched_nodes": ["#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[1]/div[0]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[0]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[0]/dl[0]/dd[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[11]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[13]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[7]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[9]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/p[1]"]}], "language": "zh", "original_text": {"/versions/16/description/0": "RowDescription is a backend protocol message. Identifies the message as a row description.", "/versions/16/facts/0/label": "Direction", "/versions/16/facts/0/value": "Backend \u2192 frontend", "/versions/16/facts/1/label": "First wire field", "/versions/16/facts/2/label": "Field entries", "/versions/16/facts/3/label": "Documented flow contexts", "/versions/16/facts/3/value": "Simple Query; Extended Query", "/versions/16/tables/0/title": "Wire fields in documented order", "/versions/16/related/0/label": "Protocol flow and exchange examples", "/versions/16/related/1/label": "Protocol overview", "/versions/16/related/2/label": "Simple Query", "/versions/16/related/3/label": "Extended Query", "/versions/16/sections/0/title": "Framing and repetition", "/versions/16/tables/0/rows/0/c2": "Identifies the message as a row description.", "/versions/16/tables/0/rows/1/c2": "Length of message contents in bytes, including self.", "/versions/16/tables/0/rows/2/c2": "Specifies the number of fields in a row (can be zero).", "/versions/16/tables/0/rows/3/c1": "String", "/versions/16/tables/0/rows/3/c2": "The field name.", "/versions/16/tables/0/rows/4/c2": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero.", "/versions/16/tables/0/rows/5/c2": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero.", "/versions/16/tables/0/rows/6/c2": "The object ID of the field's data type.", "/versions/16/tables/0/rows/7/c2": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types.", "/versions/16/tables/0/rows/8/c2": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific.", "/versions/16/tables/0/rows/9/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.", "/versions/16/sections/0/paragraphs/0": "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.", "/versions/16/tables/0/columns/0/label": "Position", "/versions/16/tables/0/columns/1/label": "Format", "/versions/16/tables/0/columns/2/label": "Meaning"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "53cdeb9ab6d8c53b6565071f64fd4863e4e88a7aab19bee2cf5718259063bc1c"}, "comparison_data": {"fields": [{"format": "Byte1('T')", "description": "Identifies the message as a row description."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int16", "description": "Specifies the number of fields in a row (can be zero)."}, {"format": "String", "description": "The field name."}, {"format": "Int32", "description": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero."}, {"format": "Int16", "description": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero."}, {"format": "Int32", "description": "The object ID of the field's data type."}, {"format": "Int16", "description": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types."}, {"format": "Int32", "description": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific."}, {"format": "Int16", "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."}], "direction": "B"}, "comparison_hash": "c9564ef40952fb1d8e6902b417759ad1c7f1cdb53baa6e854aa77b36a730a851", "manual_language": "zh"}, "17": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('T')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "10"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2"}], "fields": [{"format": "Byte1('T')", "description": "Identifies the message as a row description."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int16", "description": "Specifies the number of fields in a row (can be zero)."}, {"format": "String", "description": "The field name."}, {"format": "Int32", "description": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero."}, {"format": "Int16", "description": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero."}, {"format": "Int32", "description": "The object ID of the field's data type."}, {"format": "Int16", "description": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types."}, {"format": "Int32", "description": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific."}, {"format": "Int16", "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."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('T')", "c2": "\u6807\u8bc6\u6d88\u606f\u4e3a\u884c\u63cf\u8ff0\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "Int16", "c2": "\u6307\u5b9a\u4e00\u884c\u4e2d\u7684\u5b57\u6bb5\u6570\u91cf\uff08\u53ef\u4ee5\u4e3a\u96f6\uff09\u3002"}, {"c0": "4", "c1": "\u5b57\u7b26\u4e32", "c2": "\u5b57\u6bb5\u540d\u79f0\u3002"}, {"c0": "5", "c1": "Int32", "c2": "\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u8868\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a\u96f6\u3002"}, {"c0": "6", "c1": "Int16", "c2": "\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u5217\u7684\u5c5e\u6027\u7f16\u53f7\uff1b\u5426\u5219\u4e3a\u96f6\u3002"}, {"c0": "7", "c1": "Int32", "c2": "\u5b57\u6bb5\u6570\u636e\u7c7b\u578b\u7684\u5bf9\u8c61 ID\u3002"}, {"c0": "8", "c1": "Int16", "c2": "\u6570\u636e\u7c7b\u578b\u5927\u5c0f\uff08\u53c2\u89c1 pg_type.typlen \uff09\u3002\u6ce8\u610f\uff0c\u8d1f\u503c\u8868\u793a\u53ef\u53d8\u5bbd\u5ea6\u7c7b\u578b\u3002"}, {"c0": "9", "c1": "Int32", "c2": "\u7c7b\u578b\u4fee\u9970\u7b26\uff08\u53c2\u89c1 pg_attribute.atttypmod \uff09\u3002\u4fee\u9970\u7b26\u7684\u542b\u4e49\u662f\u7279\u5b9a\u4e8e\u7c7b\u578b\u7684\u3002"}, {"c0": "10", "c1": "Int16", "c2": "\u5b57\u6bb5\u6240\u4f7f\u7528\u7684\u683c\u5f0f\u4ee3\u7801\u3002\u76ee\u524d\u4e3a\u96f6\uff08\u6587\u672c\uff09\u6216\u4e00\uff08\u4e8c\u8fdb\u5236\uff09\u3002\u5bf9\u4e8e Describe \u9488\u5bf9\u9884\u5907\u8bed\u53e5\u7684\u53d8\u4f53\u6240\u8fd4\u56de\u7684 RowDescription\uff0c\u683c\u5f0f\u4ee3\u7801\u5c1a\u672a\u786e\u5b9a\uff0c\u59cb\u7ec8\u4e3a\u96f6\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "related": [{"url": "/docs/17/protocol-flow.html", "label": "\u534f\u8bae\u6d41\u7a0b\u4e0e\u4ea4\u4e92\u793a\u4f8b"}, {"url": "/docs/17/protocol-overview.html", "label": "\u534f\u8bae\u6982\u8ff0"}, {"url": "/docs/17/protocol-flow.html#PROTOCOL-FLOW-SIMPLE-QUERY", "label": "\u7b80\u5355\u67e5\u8be2"}, {"url": "/docs/17/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "\u6269\u5c55\u67e5\u8be2"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "sources": [{"url": "https://pg.center/docs/17/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-ROWDESCRIPTION", "path": "protocol-message-formats.html", "label": "PostgreSQL 17 English manual", "sha256": "3c0e7b8a1a8f7ec5026226eab83d6704b7c5199ec9ba1aaaf91ea517609eed4e", "language": "en", "original_url": "/docs/17/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-ROWDESCRIPTION"}], "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "direction": "B", "signature": "RowDescription (B)", "description": ["RowDescription \u662f\u540e\u7aef\u534f\u8bae\u6d88\u606f\uff0c\u8868\u793a\u884c\u63cf\u8ff0\u3002"], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Byte1('T')</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6807\u8bc6\u6d88\u606f\u4e3a\u884c\u63cf\u8ff0\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6307\u5b9a\u4e00\u884c\u4e2d\u7684\u5b57\u6bb5\u6570\u91cf\uff08\u53ef\u4ee5\u4e3a\u96f6\uff09\u3002</p>\n</p>\n</dd>\n</dl>\n</div>\n<p lang=\"zh\">\u63a5\u4e0b\u6765\uff0c\u6bcf\u4e2a\u5b57\u6bb5\u90fd\u6709\u4ee5\u4e0b\u5185\u5bb9\uff1a</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt lang=\"zh\">\u5b57\u7b26\u4e32</dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u540d\u79f0\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u8868\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u5217\u7684\u5c5e\u6027\u7f16\u53f7\uff1b\u5426\u5219\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u6570\u636e\u7c7b\u578b\u7684\u5bf9\u8c61 ID\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6570\u636e\u7c7b\u578b\u5927\u5c0f\uff08\u53c2\u89c1<code class=\"varname\">pg_type.typlen</code>\uff09\u3002\u6ce8\u610f\uff0c\u8d1f\u503c\u8868\u793a\u53ef\u53d8\u5bbd\u5ea6\u7c7b\u578b\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u7c7b\u578b\u4fee\u9970\u7b26\uff08\u53c2\u89c1<code class=\"varname\">pg_attribute.atttypmod</code>\uff09\u3002\u4fee\u9970\u7b26\u7684\u542b\u4e49\u662f\u7279\u5b9a\u4e8e\u7c7b\u578b\u7684\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u6240\u4f7f\u7528\u7684\u683c\u5f0f\u4ee3\u7801\u3002\u76ee\u524d\u4e3a\u96f6\uff08\u6587\u672c\uff09\u6216\u4e00\uff08\u4e8c\u8fdb\u5236\uff09\u3002\u5bf9\u4e8e Describe \u9488\u5bf9\u9884\u5907\u8bed\u53e5\u7684\u53d8\u4f53\u6240\u8fd4\u56de\u7684 RowDescription\uff0c\u683c\u5f0f\u4ee3\u7801\u5c1a\u672a\u786e\u5b9a\uff0c\u59cb\u7ec8\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/17/protocol-message-formats.html", "localization": {"status": "complete", "sources": [{"url": "/docs/17/datatype-json.html", "method": "same-major semantic node", "sha256": "8d2627b39aa9ad8449221de824f0c89af32197e8db7972fbc03b43dfcd0e9a93", "language": "zh", "matched_nodes": ["#DATATYPE-JSON/div[19]/pre[27]/em[4]/code[0]"]}, {"url": "/docs/17/protocol-message-formats.html", "method": "same-major semantic node", "sha256": "d6412ab936b8b40cbe8abcad969c38c282e7039b7b2c6805eb126a28008f973d", "language": "zh", "matched_nodes": ["#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[1]/div[0]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[0]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[0]/dl[0]/dd[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[11]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[13]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[7]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[9]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/p[1]"]}], "language": "zh", "original_text": {"/versions/17/description/0": "RowDescription is a backend protocol message. Identifies the message as a row description.", "/versions/17/facts/0/label": "Direction", "/versions/17/facts/0/value": "Backend \u2192 frontend", "/versions/17/facts/1/label": "First wire field", "/versions/17/facts/2/label": "Field entries", "/versions/17/facts/3/label": "Documented flow contexts", "/versions/17/facts/3/value": "Simple Query; Extended Query", "/versions/17/tables/0/title": "Wire fields in documented order", "/versions/17/related/0/label": "Protocol flow and exchange examples", "/versions/17/related/1/label": "Protocol overview", "/versions/17/related/2/label": "Simple Query", "/versions/17/related/3/label": "Extended Query", "/versions/17/sections/0/title": "Framing and repetition", "/versions/17/tables/0/rows/0/c2": "Identifies the message as a row description.", "/versions/17/tables/0/rows/1/c2": "Length of message contents in bytes, including self.", "/versions/17/tables/0/rows/2/c2": "Specifies the number of fields in a row (can be zero).", "/versions/17/tables/0/rows/3/c1": "String", "/versions/17/tables/0/rows/3/c2": "The field name.", "/versions/17/tables/0/rows/4/c2": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero.", "/versions/17/tables/0/rows/5/c2": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero.", "/versions/17/tables/0/rows/6/c2": "The object ID of the field's data type.", "/versions/17/tables/0/rows/7/c2": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types.", "/versions/17/tables/0/rows/8/c2": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific.", "/versions/17/tables/0/rows/9/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.", "/versions/17/sections/0/paragraphs/0": "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.", "/versions/17/tables/0/columns/0/label": "Position", "/versions/17/tables/0/columns/1/label": "Format", "/versions/17/tables/0/columns/2/label": "Meaning"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "b4161859c80bd56f10dcf86d1a6869337e0fa0c8570e61abb0dc574970635949"}, "comparison_data": {"fields": [{"format": "Byte1('T')", "description": "Identifies the message as a row description."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int16", "description": "Specifies the number of fields in a row (can be zero)."}, {"format": "String", "description": "The field name."}, {"format": "Int32", "description": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero."}, {"format": "Int16", "description": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero."}, {"format": "Int32", "description": "The object ID of the field's data type."}, {"format": "Int16", "description": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types."}, {"format": "Int32", "description": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific."}, {"format": "Int16", "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."}], "direction": "B"}, "comparison_hash": "c9564ef40952fb1d8e6902b417759ad1c7f1cdb53baa6e854aa77b36a730a851", "manual_language": "zh"}, "18": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('T')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "10"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2"}], "fields": [{"format": "Byte1('T')", "description": "Identifies the message as a row description."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int16", "description": "Specifies the number of fields in a row (can be zero)."}, {"format": "String", "description": "The field name."}, {"format": "Int32", "description": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero."}, {"format": "Int16", "description": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero."}, {"format": "Int32", "description": "The object ID of the field's data type."}, {"format": "Int16", "description": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types."}, {"format": "Int32", "description": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific."}, {"format": "Int16", "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."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('T')", "c2": "\u6807\u8bc6\u6d88\u606f\u4e3a\u884c\u63cf\u8ff0\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "Int16", "c2": "\u6307\u5b9a\u4e00\u884c\u4e2d\u7684\u5b57\u6bb5\u6570\u91cf\uff08\u53ef\u4ee5\u4e3a\u96f6\uff09\u3002"}, {"c0": "4", "c1": "\u5b57\u7b26\u4e32", "c2": "\u5b57\u6bb5\u540d\u79f0\u3002"}, {"c0": "5", "c1": "Int32", "c2": "\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u8868\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a\u96f6\u3002"}, {"c0": "6", "c1": "Int16", "c2": "\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u5217\u7684\u5c5e\u6027\u7f16\u53f7\uff1b\u5426\u5219\u4e3a\u96f6\u3002"}, {"c0": "7", "c1": "Int32", "c2": "\u5b57\u6bb5\u6570\u636e\u7c7b\u578b\u7684\u5bf9\u8c61 ID\u3002"}, {"c0": "8", "c1": "Int16", "c2": "\u6570\u636e\u7c7b\u578b\u5927\u5c0f\uff08\u53c2\u89c1 pg_type.typlen \uff09\u3002\u6ce8\u610f\uff0c\u8d1f\u503c\u8868\u793a\u53ef\u53d8\u5bbd\u5ea6\u7c7b\u578b\u3002"}, {"c0": "9", "c1": "Int32", "c2": "\u7c7b\u578b\u4fee\u9970\u7b26\uff08\u53c2\u89c1 pg_attribute.atttypmod \uff09\u3002\u4fee\u9970\u7b26\u7684\u542b\u4e49\u662f\u7279\u5b9a\u4e8e\u7c7b\u578b\u7684\u3002"}, {"c0": "10", "c1": "Int16", "c2": "\u5b57\u6bb5\u6240\u4f7f\u7528\u7684\u683c\u5f0f\u4ee3\u7801\u3002\u76ee\u524d\u4e3a\u96f6\uff08\u6587\u672c\uff09\u6216\u4e00\uff08\u4e8c\u8fdb\u5236\uff09\u3002\u5bf9\u4e8e Describe \u9488\u5bf9\u9884\u5907\u8bed\u53e5\u7684\u53d8\u4f53\u6240\u8fd4\u56de\u7684 RowDescription\uff0c\u683c\u5f0f\u4ee3\u7801\u5c1a\u672a\u786e\u5b9a\uff0c\u59cb\u7ec8\u4e3a\u96f6\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "related": [{"url": "/docs/18/protocol-flow.html", "label": "\u534f\u8bae\u6d41\u7a0b\u4e0e\u4ea4\u4e92\u793a\u4f8b"}, {"url": "/docs/18/protocol-overview.html", "label": "\u534f\u8bae\u6982\u8ff0"}, {"url": "/docs/18/protocol-flow.html#PROTOCOL-FLOW-SIMPLE-QUERY", "label": "\u7b80\u5355\u67e5\u8be2"}, {"url": "/docs/18/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "\u6269\u5c55\u67e5\u8be2"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sources": [{"url": "https://pg.center/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-ROWDESCRIPTION", "path": "protocol-message-formats.html", "label": "PostgreSQL 18 English manual", "sha256": "53f37652ac2c089e30ada87d8aee7bdd0f26695b03f275302e526a807d2a1f23", "language": "en", "original_url": "/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-ROWDESCRIPTION"}], "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "direction": "B", "signature": "RowDescription (B)", "description": ["RowDescription \u662f\u540e\u7aef\u534f\u8bae\u6d88\u606f\uff0c\u8868\u793a\u884c\u63cf\u8ff0\u3002"], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Byte1('T')</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6807\u8bc6\u6d88\u606f\u4e3a\u884c\u63cf\u8ff0\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6307\u5b9a\u4e00\u884c\u4e2d\u7684\u5b57\u6bb5\u6570\u91cf\uff08\u53ef\u4ee5\u4e3a\u96f6\uff09\u3002</p>\n</p>\n</dd>\n</dl>\n</div>\n<p lang=\"zh\">\u63a5\u4e0b\u6765\uff0c\u6bcf\u4e2a\u5b57\u6bb5\u90fd\u6709\u4ee5\u4e0b\u5185\u5bb9\uff1a</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt lang=\"zh\">\u5b57\u7b26\u4e32</dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u540d\u79f0\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u8868\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u5217\u7684\u5c5e\u6027\u7f16\u53f7\uff1b\u5426\u5219\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u6570\u636e\u7c7b\u578b\u7684\u5bf9\u8c61 ID\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6570\u636e\u7c7b\u578b\u5927\u5c0f\uff08\u53c2\u89c1<code class=\"varname\">pg_type.typlen</code>\uff09\u3002\u6ce8\u610f\uff0c\u8d1f\u503c\u8868\u793a\u53ef\u53d8\u5bbd\u5ea6\u7c7b\u578b\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u7c7b\u578b\u4fee\u9970\u7b26\uff08\u53c2\u89c1<code class=\"varname\">pg_attribute.atttypmod</code>\uff09\u3002\u4fee\u9970\u7b26\u7684\u542b\u4e49\u662f\u7279\u5b9a\u4e8e\u7c7b\u578b\u7684\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u6240\u4f7f\u7528\u7684\u683c\u5f0f\u4ee3\u7801\u3002\u76ee\u524d\u4e3a\u96f6\uff08\u6587\u672c\uff09\u6216\u4e00\uff08\u4e8c\u8fdb\u5236\uff09\u3002\u5bf9\u4e8e Describe \u9488\u5bf9\u9884\u5907\u8bed\u53e5\u7684\u53d8\u4f53\u6240\u8fd4\u56de\u7684 RowDescription\uff0c\u683c\u5f0f\u4ee3\u7801\u5c1a\u672a\u786e\u5b9a\uff0c\u59cb\u7ec8\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/18/protocol-message-formats.html", "localization": {"status": "complete", "sources": [{"url": "/docs/18/datatype-json.html", "method": "same-major semantic node", "sha256": "b9e8f98a0b5f2a4ec7b5197d02ab40c0ac0635a678c32728aaadd43cb4cd3766", "language": "zh", "matched_nodes": ["#DATATYPE-JSON/div[19]/pre[27]/em[4]/code[0]"]}, {"url": "/docs/18/protocol-message-formats.html", "method": "same-major semantic node", "sha256": "add610bc3053cbc2f8d57b8a89e7e9d17dca8906d66221e9268c1dd1b390d0b5", "language": "zh", "matched_nodes": ["#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[1]/div[0]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[0]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[0]/dl[0]/dd[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[11]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[13]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[7]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[9]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/p[1]"]}], "language": "zh", "original_text": {"/versions/18/description/0": "RowDescription is a backend protocol message. Identifies the message as a row description.", "/versions/18/facts/0/label": "Direction", "/versions/18/facts/0/value": "Backend \u2192 frontend", "/versions/18/facts/1/label": "First wire field", "/versions/18/facts/2/label": "Field entries", "/versions/18/facts/3/label": "Documented flow contexts", "/versions/18/facts/3/value": "Simple Query; Extended Query", "/versions/18/tables/0/title": "Wire fields in documented order", "/versions/18/related/0/label": "Protocol flow and exchange examples", "/versions/18/related/1/label": "Protocol overview", "/versions/18/related/2/label": "Simple Query", "/versions/18/related/3/label": "Extended Query", "/versions/18/sections/0/title": "Framing and repetition", "/versions/18/tables/0/rows/0/c2": "Identifies the message as a row description.", "/versions/18/tables/0/rows/1/c2": "Length of message contents in bytes, including self.", "/versions/18/tables/0/rows/2/c2": "Specifies the number of fields in a row (can be zero).", "/versions/18/tables/0/rows/3/c1": "String", "/versions/18/tables/0/rows/3/c2": "The field name.", "/versions/18/tables/0/rows/4/c2": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero.", "/versions/18/tables/0/rows/5/c2": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero.", "/versions/18/tables/0/rows/6/c2": "The object ID of the field's data type.", "/versions/18/tables/0/rows/7/c2": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types.", "/versions/18/tables/0/rows/8/c2": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific.", "/versions/18/tables/0/rows/9/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.", "/versions/18/sections/0/paragraphs/0": "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.", "/versions/18/tables/0/columns/0/label": "Position", "/versions/18/tables/0/columns/1/label": "Format", "/versions/18/tables/0/columns/2/label": "Meaning"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "4da136c11943f4b964a34635c2d1ce1f7805a4a4a3f8289dbfb4c60d8401132f"}, "comparison_data": {"fields": [{"format": "Byte1('T')", "description": "Identifies the message as a row description."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int16", "description": "Specifies the number of fields in a row (can be zero)."}, {"format": "String", "description": "The field name."}, {"format": "Int32", "description": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero."}, {"format": "Int16", "description": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero."}, {"format": "Int32", "description": "The object ID of the field's data type."}, {"format": "Int16", "description": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types."}, {"format": "Int32", "description": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific."}, {"format": "Int16", "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."}], "direction": "B"}, "comparison_hash": "c9564ef40952fb1d8e6902b417759ad1c7f1cdb53baa6e854aa77b36a730a851", "manual_language": "zh"}, "19": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('T')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "10"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2"}], "fields": [{"format": "Byte1('T')", "description": "Identifies the message as a row description."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int16", "description": "Specifies the number of fields in a row (can be zero)."}, {"format": "String", "description": "The field name."}, {"format": "Int32", "description": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero."}, {"format": "Int16", "description": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero."}, {"format": "Int32", "description": "The object ID of the field's data type."}, {"format": "Int16", "description": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types."}, {"format": "Int32", "description": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific."}, {"format": "Int16", "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."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('T')", "c2": "\u6807\u8bc6\u6d88\u606f\u4e3a\u884c\u63cf\u8ff0\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "Int16", "c2": "\u6307\u5b9a\u4e00\u884c\u4e2d\u7684\u5b57\u6bb5\u6570\u91cf\uff08\u53ef\u4ee5\u4e3a\u96f6\uff09\u3002"}, {"c0": "4", "c1": "\u5b57\u7b26\u4e32", "c2": "\u5b57\u6bb5\u540d\u79f0\u3002"}, {"c0": "5", "c1": "Int32", "c2": "\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u8868\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a\u96f6\u3002"}, {"c0": "6", "c1": "Int16", "c2": "\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u5217\u7684\u5c5e\u6027\u7f16\u53f7\uff1b\u5426\u5219\u4e3a\u96f6\u3002"}, {"c0": "7", "c1": "Int32", "c2": "\u5b57\u6bb5\u6570\u636e\u7c7b\u578b\u7684\u5bf9\u8c61 ID\u3002"}, {"c0": "8", "c1": "Int16", "c2": "\u6570\u636e\u7c7b\u578b\u5927\u5c0f\uff08\u53c2\u89c1 pg_type.typlen \uff09\u3002\u6ce8\u610f\uff0c\u8d1f\u503c\u8868\u793a\u53ef\u53d8\u5bbd\u5ea6\u7c7b\u578b\u3002"}, {"c0": "9", "c1": "Int32", "c2": "\u7c7b\u578b\u4fee\u9970\u7b26\uff08\u53c2\u89c1 pg_attribute.atttypmod \uff09\u3002\u4fee\u9970\u7b26\u7684\u542b\u4e49\u662f\u7279\u5b9a\u4e8e\u7c7b\u578b\u7684\u3002"}, {"c0": "10", "c1": "Int16", "c2": "\u5b57\u6bb5\u6240\u4f7f\u7528\u7684\u683c\u5f0f\u4ee3\u7801\u3002\u76ee\u524d\u4e3a\u96f6\uff08\u6587\u672c\uff09\u6216\u4e00\uff08\u4e8c\u8fdb\u5236\uff09\u3002\u5bf9\u4e8e Describe \u9488\u5bf9\u9884\u5907\u8bed\u53e5\u7684\u53d8\u4f53\u6240\u8fd4\u56de\u7684 RowDescription\uff0c\u683c\u5f0f\u4ee3\u7801\u5c1a\u672a\u786e\u5b9a\uff0c\u59cb\u7ec8\u4e3a\u96f6\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "related": [{"url": "/docs/19/protocol-flow.html", "label": "\u534f\u8bae\u6d41\u7a0b\u4e0e\u4ea4\u4e92\u793a\u4f8b"}, {"url": "/docs/19/protocol-overview.html", "label": "\u534f\u8bae\u6982\u8ff0"}, {"url": "/docs/19/protocol-flow.html#PROTOCOL-FLOW-SIMPLE-QUERY", "label": "\u7b80\u5355\u67e5\u8be2"}, {"url": "/docs/19/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "\u6269\u5c55\u67e5\u8be2"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86"}, "sources": [{"url": "https://pg.center/docs/19/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-ROWDESCRIPTION", "path": "protocol-message-formats.html", "label": "PostgreSQL 19 English manual", "sha256": "90ffd4417d4975d088424b23a513f1d79ac914225ad7e239a12f44d0dd2248e4", "language": "en", "original_url": "/docs/19/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-ROWDESCRIPTION"}], "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "direction": "B", "signature": "RowDescription (B)", "description": ["RowDescription \u662f\u540e\u7aef\u534f\u8bae\u6d88\u606f\uff0c\u8868\u793a\u884c\u63cf\u8ff0\u3002"], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Byte1('T')</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6807\u8bc6\u6d88\u606f\u4e3a\u884c\u63cf\u8ff0\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6307\u5b9a\u4e00\u884c\u4e2d\u7684\u5b57\u6bb5\u6570\u91cf\uff08\u53ef\u4ee5\u4e3a\u96f6\uff09\u3002</p>\n</p>\n</dd>\n</dl>\n</div>\n<p lang=\"zh\">\u63a5\u4e0b\u6765\uff0c\u6bcf\u4e2a\u5b57\u6bb5\u90fd\u6709\u4ee5\u4e0b\u5185\u5bb9\uff1a</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt lang=\"zh\">\u5b57\u7b26\u4e32</dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u540d\u79f0\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u8868\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u5217\u7684\u5c5e\u6027\u7f16\u53f7\uff1b\u5426\u5219\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u6570\u636e\u7c7b\u578b\u7684\u5bf9\u8c61 ID\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6570\u636e\u7c7b\u578b\u5927\u5c0f\uff08\u53c2\u89c1<code class=\"varname\">pg_type.typlen</code>\uff09\u3002\u6ce8\u610f\uff0c\u8d1f\u503c\u8868\u793a\u53ef\u53d8\u5bbd\u5ea6\u7c7b\u578b\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u7c7b\u578b\u4fee\u9970\u7b26\uff08\u53c2\u89c1<code class=\"varname\">pg_attribute.atttypmod</code>\uff09\u3002\u4fee\u9970\u7b26\u7684\u542b\u4e49\u662f\u7279\u5b9a\u4e8e\u7c7b\u578b\u7684\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u6240\u4f7f\u7528\u7684\u683c\u5f0f\u4ee3\u7801\u3002\u76ee\u524d\u4e3a\u96f6\uff08\u6587\u672c\uff09\u6216\u4e00\uff08\u4e8c\u8fdb\u5236\uff09\u3002\u5bf9\u4e8e Describe \u9488\u5bf9\u9884\u5907\u8bed\u53e5\u7684\u53d8\u4f53\u6240\u8fd4\u56de\u7684 RowDescription\uff0c\u683c\u5f0f\u4ee3\u7801\u5c1a\u672a\u786e\u5b9a\uff0c\u59cb\u7ec8\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/19/protocol-message-formats.html", "localization": {"status": "complete", "sources": [{"url": "/docs/19/datatype-json.html", "method": "same-major semantic node", "sha256": "3e9557f5a65838e08890f25b0cc62147ef278263efb1c2462b7906308771ae60", "language": "zh", "matched_nodes": ["#DATATYPE-JSON/div[19]/pre[27]/em[4]/code[0]"]}, {"url": "/docs/19/protocol-message-formats.html", "method": "same-major semantic node", "sha256": "c1bf02758e5b347662df055d3c8807b753fab16fc7238ed640efe95863588bff", "language": "zh", "matched_nodes": ["#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[1]/div[0]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[0]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[0]/dl[0]/dd[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[11]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[13]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[7]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[9]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/p[1]"]}], "language": "zh", "original_text": {"/versions/19/description/0": "RowDescription is a backend protocol message. Identifies the message as a row description.", "/versions/19/facts/0/label": "Direction", "/versions/19/facts/0/value": "Backend \u2192 frontend", "/versions/19/facts/1/label": "First wire field", "/versions/19/facts/2/label": "Field entries", "/versions/19/facts/3/label": "Documented flow contexts", "/versions/19/facts/3/value": "Simple Query; Extended Query", "/versions/19/tables/0/title": "Wire fields in documented order", "/versions/19/related/0/label": "Protocol flow and exchange examples", "/versions/19/related/1/label": "Protocol overview", "/versions/19/related/2/label": "Simple Query", "/versions/19/related/3/label": "Extended Query", "/versions/19/sections/0/title": "Framing and repetition", "/versions/19/tables/0/rows/0/c2": "Identifies the message as a row description.", "/versions/19/tables/0/rows/1/c2": "Length of message contents in bytes, including self.", "/versions/19/tables/0/rows/2/c2": "Specifies the number of fields in a row (can be zero).", "/versions/19/tables/0/rows/3/c1": "String", "/versions/19/tables/0/rows/3/c2": "The field name.", "/versions/19/tables/0/rows/4/c2": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero.", "/versions/19/tables/0/rows/5/c2": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero.", "/versions/19/tables/0/rows/6/c2": "The object ID of the field's data type.", "/versions/19/tables/0/rows/7/c2": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types.", "/versions/19/tables/0/rows/8/c2": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific.", "/versions/19/tables/0/rows/9/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.", "/versions/19/sections/0/paragraphs/0": "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.", "/versions/19/tables/0/columns/0/label": "Position", "/versions/19/tables/0/columns/1/label": "Format", "/versions/19/tables/0/columns/2/label": "Meaning"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "a55fc82ac0ba631a2ac55d3a3272e054540bd4f42a75bf2bd87038608a3c976c"}, "comparison_data": {"fields": [{"format": "Byte1('T')", "description": "Identifies the message as a row description."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int16", "description": "Specifies the number of fields in a row (can be zero)."}, {"format": "String", "description": "The field name."}, {"format": "Int32", "description": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero."}, {"format": "Int16", "description": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero."}, {"format": "Int32", "description": "The object ID of the field's data type."}, {"format": "Int16", "description": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types."}, {"format": "Int32", "description": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific."}, {"format": "Int16", "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."}], "direction": "B"}, "comparison_hash": "c9564ef40952fb1d8e6902b417759ad1c7f1cdb53baa6e854aa77b36a730a851", "manual_language": "zh"}, "20": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('T')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "10"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2"}], "fields": [{"format": "Byte1('T')", "description": "Identifies the message as a row description."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int16", "description": "Specifies the number of fields in a row (can be zero)."}, {"format": "String", "description": "The field name."}, {"format": "Int32", "description": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero."}, {"format": "Int16", "description": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero."}, {"format": "Int32", "description": "The object ID of the field's data type."}, {"format": "Int16", "description": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types."}, {"format": "Int32", "description": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific."}, {"format": "Int16", "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."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('T')", "c2": "\u6807\u8bc6\u6d88\u606f\u4e3a\u884c\u63cf\u8ff0\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "Int16", "c2": "\u6307\u5b9a\u4e00\u884c\u4e2d\u7684\u5b57\u6bb5\u6570\u91cf\uff08\u53ef\u4ee5\u4e3a\u96f6\uff09\u3002"}, {"c0": "4", "c1": "\u5b57\u7b26\u4e32", "c2": "\u5b57\u6bb5\u540d\u79f0\u3002"}, {"c0": "5", "c1": "Int32", "c2": "\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u8868\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a\u96f6\u3002"}, {"c0": "6", "c1": "Int16", "c2": "\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u5217\u7684\u5c5e\u6027\u7f16\u53f7\uff1b\u5426\u5219\u4e3a\u96f6\u3002"}, {"c0": "7", "c1": "Int32", "c2": "\u5b57\u6bb5\u6570\u636e\u7c7b\u578b\u7684\u5bf9\u8c61 ID\u3002"}, {"c0": "8", "c1": "Int16", "c2": "\u6570\u636e\u7c7b\u578b\u5927\u5c0f\uff08\u53c2\u89c1 pg_type.typlen \uff09\u3002\u6ce8\u610f\uff0c\u8d1f\u503c\u8868\u793a\u53ef\u53d8\u5bbd\u5ea6\u7c7b\u578b\u3002"}, {"c0": "9", "c1": "Int32", "c2": "\u7c7b\u578b\u4fee\u9970\u7b26\uff08\u53c2\u89c1 pg_attribute.atttypmod \uff09\u3002\u4fee\u9970\u7b26\u7684\u542b\u4e49\u662f\u7279\u5b9a\u4e8e\u7c7b\u578b\u7684\u3002"}, {"c0": "10", "c1": "Int16", "c2": "\u5b57\u6bb5\u6240\u4f7f\u7528\u7684\u683c\u5f0f\u4ee3\u7801\u3002\u76ee\u524d\u4e3a\u96f6\uff08\u6587\u672c\uff09\u6216\u4e00\uff08\u4e8c\u8fdb\u5236\uff09\u3002\u5bf9\u4e8e Describe \u9488\u5bf9\u9884\u5907\u8bed\u53e5\u7684\u53d8\u4f53\u6240\u8fd4\u56de\u7684 RowDescription\uff0c\u683c\u5f0f\u4ee3\u7801\u5c1a\u672a\u786e\u5b9a\uff0c\u59cb\u7ec8\u4e3a\u96f6\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "related": [{"url": "/docs/devel/protocol-flow.html", "label": "\u534f\u8bae\u6d41\u7a0b\u4e0e\u4ea4\u4e92\u793a\u4f8b"}, {"url": "/docs/devel/protocol-overview.html", "label": "\u534f\u8bae\u6982\u8ff0"}, {"url": "/docs/devel/protocol-flow.html#PROTOCOL-FLOW-SIMPLE-QUERY", "label": "\u7b80\u5355\u67e5\u8be2"}, {"url": "/docs/devel/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "\u6269\u5c55\u67e5\u8be2"}], "release": {"ref": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41"}, "sources": [{"url": "https://pg.center/docs/devel/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-ROWDESCRIPTION", "path": "protocol-message-formats.html", "label": "PostgreSQL 20 English manual", "sha256": "4e786b7a3a7f6dbe6547ece35c3281e7f1a33816b0613d2cdc3beec827362d4e", "language": "en", "original_url": "/docs/devel/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-ROWDESCRIPTION"}], "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "direction": "B", "signature": "RowDescription (B)", "description": ["RowDescription \u662f\u540e\u7aef\u534f\u8bae\u6d88\u606f\uff0c\u8868\u793a\u884c\u63cf\u8ff0\u3002"], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Byte1('T')</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6807\u8bc6\u6d88\u606f\u4e3a\u884c\u63cf\u8ff0\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6307\u5b9a\u4e00\u884c\u4e2d\u7684\u5b57\u6bb5\u6570\u91cf\uff08\u53ef\u4ee5\u4e3a\u96f6\uff09\u3002</p>\n</p>\n</dd>\n</dl>\n</div>\n<p lang=\"zh\">\u63a5\u4e0b\u6765\uff0c\u6bcf\u4e2a\u5b57\u6bb5\u90fd\u6709\u4ee5\u4e0b\u5185\u5bb9\uff1a</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt lang=\"zh\">\u5b57\u7b26\u4e32</dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u540d\u79f0\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u8868\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u5217\u7684\u5c5e\u6027\u7f16\u53f7\uff1b\u5426\u5219\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u6570\u636e\u7c7b\u578b\u7684\u5bf9\u8c61 ID\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6570\u636e\u7c7b\u578b\u5927\u5c0f\uff08\u53c2\u89c1<code class=\"varname\">pg_type.typlen</code>\uff09\u3002\u6ce8\u610f\uff0c\u8d1f\u503c\u8868\u793a\u53ef\u53d8\u5bbd\u5ea6\u7c7b\u578b\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u7c7b\u578b\u4fee\u9970\u7b26\uff08\u53c2\u89c1<code class=\"varname\">pg_attribute.atttypmod</code>\uff09\u3002\u4fee\u9970\u7b26\u7684\u542b\u4e49\u662f\u7279\u5b9a\u4e8e\u7c7b\u578b\u7684\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u6240\u4f7f\u7528\u7684\u683c\u5f0f\u4ee3\u7801\u3002\u76ee\u524d\u4e3a\u96f6\uff08\u6587\u672c\uff09\u6216\u4e00\uff08\u4e8c\u8fdb\u5236\uff09\u3002\u5bf9\u4e8e Describe \u9488\u5bf9\u9884\u5907\u8bed\u53e5\u7684\u53d8\u4f53\u6240\u8fd4\u56de\u7684 RowDescription\uff0c\u683c\u5f0f\u4ee3\u7801\u5c1a\u672a\u786e\u5b9a\uff0c\u59cb\u7ec8\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/devel/protocol-message-formats.html", "localization": {"status": "complete", "sources": [{"url": "/docs/devel/datatype-json.html", "method": "same-major semantic node", "sha256": "0bfc34c3ea3eb808f83865871c3fdad1265f64037c9a9aab3fecc96f1d1632d1", "language": "zh", "matched_nodes": ["#DATATYPE-JSON/div[19]/pre[27]/em[4]/code[0]"]}, {"url": "/docs/devel/protocol-message-formats.html", "method": "same-major semantic node", "sha256": "cacb5413fe2995ee79c58230881c08df2077aa918b5f243895b62e065ee7448e", "language": "zh", "matched_nodes": ["#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[1]/div[0]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[0]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[0]/dl[0]/dd[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[11]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[13]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[7]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[9]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/p[1]"]}], "language": "zh", "original_text": {"/summary": "RowDescription is a backend protocol message. Identifies the message as a row description.", "/category": "Backend messages", "/versions/20/description/0": "RowDescription is a backend protocol message. Identifies the message as a row description.", "/versions/20/facts/0/label": "Direction", "/versions/20/facts/0/value": "Backend \u2192 frontend", "/versions/20/facts/1/label": "First wire field", "/versions/20/facts/2/label": "Field entries", "/versions/20/facts/3/label": "Documented flow contexts", "/versions/20/facts/3/value": "Simple Query; Extended Query", "/versions/20/tables/0/title": "Wire fields in documented order", "/versions/20/related/0/label": "Protocol flow and exchange examples", "/versions/20/related/1/label": "Protocol overview", "/versions/20/related/2/label": "Simple Query", "/versions/20/related/3/label": "Extended Query", "/versions/20/sections/0/title": "Framing and repetition", "/versions/20/tables/0/rows/0/c2": "Identifies the message as a row description.", "/versions/20/tables/0/rows/1/c2": "Length of message contents in bytes, including self.", "/versions/20/tables/0/rows/2/c2": "Specifies the number of fields in a row (can be zero).", "/versions/20/tables/0/rows/3/c1": "String", "/versions/20/tables/0/rows/3/c2": "The field name.", "/versions/20/tables/0/rows/4/c2": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero.", "/versions/20/tables/0/rows/5/c2": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero.", "/versions/20/tables/0/rows/6/c2": "The object ID of the field's data type.", "/versions/20/tables/0/rows/7/c2": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types.", "/versions/20/tables/0/rows/8/c2": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific.", "/versions/20/tables/0/rows/9/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.", "/versions/20/sections/0/paragraphs/0": "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.", "/versions/20/tables/0/columns/0/label": "Position", "/versions/20/tables/0/columns/1/label": "Format", "/versions/20/tables/0/columns/2/label": "Meaning"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "99fa53bad3a5f87087e439f32967d44acddd74f1c36c26daa03640072b5f764b"}, "comparison_data": {"fields": [{"format": "Byte1('T')", "description": "Identifies the message as a row description."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int16", "description": "Specifies the number of fields in a row (can be zero)."}, {"format": "String", "description": "The field name."}, {"format": "Int32", "description": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero."}, {"format": "Int16", "description": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero."}, {"format": "Int32", "description": "The object ID of the field's data type."}, {"format": "Int16", "description": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types."}, {"format": "Int32", "description": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific."}, {"format": "Int16", "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."}], "direction": "B"}, "comparison_hash": "c9564ef40952fb1d8e6902b417759ad1c7f1cdb53baa6e854aa77b36a730a851", "manual_language": "zh"}}}, "snapshot": {"facts": [{"label": "\u65b9\u5411", "value": "\u540e\u7aef \u2192 \u524d\u7aef"}, {"label": "\u9996\u4e2a\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "value": "Byte1('T')"}, {"label": "\u5b57\u6bb5\u6761\u76ee", "value": "10"}, {"label": "\u624b\u518c\u4e2d\u7684\u4ea4\u4e92\u9636\u6bb5", "value": "\u7b80\u5355\u67e5\u8be2\uff1b\u6269\u5c55\u67e5\u8be2"}], "fields": [{"format": "Byte1('T')", "description": "Identifies the message as a row description."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int16", "description": "Specifies the number of fields in a row (can be zero)."}, {"format": "String", "description": "The field name."}, {"format": "Int32", "description": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero."}, {"format": "Int16", "description": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero."}, {"format": "Int32", "description": "The object ID of the field's data type."}, {"format": "Int16", "description": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types."}, {"format": "Int32", "description": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific."}, {"format": "Int16", "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."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Byte1('T')", "c2": "\u6807\u8bc6\u6d88\u606f\u4e3a\u884c\u63cf\u8ff0\u3002"}, {"c0": "2", "c1": "Int32", "c2": "\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002"}, {"c0": "3", "c1": "Int16", "c2": "\u6307\u5b9a\u4e00\u884c\u4e2d\u7684\u5b57\u6bb5\u6570\u91cf\uff08\u53ef\u4ee5\u4e3a\u96f6\uff09\u3002"}, {"c0": "4", "c1": "\u5b57\u7b26\u4e32", "c2": "\u5b57\u6bb5\u540d\u79f0\u3002"}, {"c0": "5", "c1": "Int32", "c2": "\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u8868\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a\u96f6\u3002"}, {"c0": "6", "c1": "Int16", "c2": "\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u5217\u7684\u5c5e\u6027\u7f16\u53f7\uff1b\u5426\u5219\u4e3a\u96f6\u3002"}, {"c0": "7", "c1": "Int32", "c2": "\u5b57\u6bb5\u6570\u636e\u7c7b\u578b\u7684\u5bf9\u8c61 ID\u3002"}, {"c0": "8", "c1": "Int16", "c2": "\u6570\u636e\u7c7b\u578b\u5927\u5c0f\uff08\u53c2\u89c1 pg_type.typlen \uff09\u3002\u6ce8\u610f\uff0c\u8d1f\u503c\u8868\u793a\u53ef\u53d8\u5bbd\u5ea6\u7c7b\u578b\u3002"}, {"c0": "9", "c1": "Int32", "c2": "\u7c7b\u578b\u4fee\u9970\u7b26\uff08\u53c2\u89c1 pg_attribute.atttypmod \uff09\u3002\u4fee\u9970\u7b26\u7684\u542b\u4e49\u662f\u7279\u5b9a\u4e8e\u7c7b\u578b\u7684\u3002"}, {"c0": "10", "c1": "Int16", "c2": "\u5b57\u6bb5\u6240\u4f7f\u7528\u7684\u683c\u5f0f\u4ee3\u7801\u3002\u76ee\u524d\u4e3a\u96f6\uff08\u6587\u672c\uff09\u6216\u4e00\uff08\u4e8c\u8fdb\u5236\uff09\u3002\u5bf9\u4e8e Describe \u9488\u5bf9\u9884\u5907\u8bed\u53e5\u7684\u53d8\u4f53\u6240\u8fd4\u56de\u7684 RowDescription\uff0c\u683c\u5f0f\u4ee3\u7801\u5c1a\u672a\u786e\u5b9a\uff0c\u59cb\u7ec8\u4e3a\u96f6\u3002"}], "title": "\u6309\u624b\u518c\u987a\u5e8f\u6392\u5217\u7684\u7ebf\u4e0a\u534f\u8bae\u5b57\u6bb5", "columns": [{"key": "c0", "label": "\u4f4d\u7f6e"}, {"key": "c1", "label": "\u683c\u5f0f"}, {"key": "c2", "label": "\u542b\u4e49"}]}], "related": [{"url": "/docs/18/protocol-flow.html", "label": "\u534f\u8bae\u6d41\u7a0b\u4e0e\u4ea4\u4e92\u793a\u4f8b"}, {"url": "/docs/18/protocol-overview.html", "label": "\u534f\u8bae\u6982\u8ff0"}, {"url": "/docs/18/protocol-flow.html#PROTOCOL-FLOW-SIMPLE-QUERY", "label": "\u7b80\u5355\u67e5\u8be2"}, {"url": "/docs/18/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY", "label": "\u6269\u5c55\u67e5\u8be2"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sources": [{"url": "https://pg.center/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-ROWDESCRIPTION", "path": "protocol-message-formats.html", "label": "PostgreSQL 18 English manual", "sha256": "53f37652ac2c089e30ada87d8aee7bdd0f26695b03f275302e526a807d2a1f23", "language": "en", "original_url": "/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-ROWDESCRIPTION"}], "sections": [{"title": "\u6d88\u606f\u8fb9\u754c\u4e0e\u91cd\u590d\u5b57\u6bb5", "paragraphs": ["\u4e0b\u65b9\u5b8c\u6574\u5b9a\u4e49\u4fdd\u7559\u91cd\u590d\u9879\u3001\u8ba1\u6570\u4e0e\u6761\u4ef6\u5b57\u6bb5\u3002\u8868\u683c\u884c\u53f7\u8868\u793a\u6587\u6863\u4e2d\u7684\u5b57\u6bb5\u5b9a\u4e49\uff0c\u5e76\u975e\u56fa\u5b9a\u5b57\u8282\u504f\u79fb\u91cf\u3002\u6574\u6570\u7f16\u7801\u4e0e\u4ea4\u4e92\u6d41\u7a0b\u4ee5\u540c\u7248\u672c\u534f\u8bae\u7ae0\u8282\u4e3a\u51c6\u3002"]}], "direction": "B", "signature": "RowDescription (B)", "description": ["RowDescription \u662f\u540e\u7aef\u534f\u8bae\u6d88\u606f\uff0c\u8868\u793a\u884c\u63cf\u8ff0\u3002"], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Byte1('T')</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6807\u8bc6\u6d88\u606f\u4e3a\u884c\u63cf\u8ff0\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6d88\u606f\u5185\u5bb9\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u8282\u4e3a\u5355\u4f4d\uff09\uff0c\u5305\u62ec\u5176\u81ea\u8eab\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6307\u5b9a\u4e00\u884c\u4e2d\u7684\u5b57\u6bb5\u6570\u91cf\uff08\u53ef\u4ee5\u4e3a\u96f6\uff09\u3002</p>\n</p>\n</dd>\n</dl>\n</div>\n<p lang=\"zh\">\u63a5\u4e0b\u6765\uff0c\u6bcf\u4e2a\u5b57\u6bb5\u90fd\u6709\u4ee5\u4e0b\u5185\u5bb9\uff1a</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt lang=\"zh\">\u5b57\u7b26\u4e32</dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u540d\u79f0\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u8868\u7684\u5bf9\u8c61 ID\uff1b\u5426\u5219\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5982\u679c\u80fd\u591f\u786e\u5b9a\u8be5\u5b57\u6bb5\u662f\u67d0\u4e2a\u7279\u5b9a\u8868\u7684\u5217\uff0c\u5219\u4e3a\u8be5\u5217\u7684\u5c5e\u6027\u7f16\u53f7\uff1b\u5426\u5219\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u6570\u636e\u7c7b\u578b\u7684\u5bf9\u8c61 ID\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u6570\u636e\u7c7b\u578b\u5927\u5c0f\uff08\u53c2\u89c1<code class=\"varname\">pg_type.typlen</code>\uff09\u3002\u6ce8\u610f\uff0c\u8d1f\u503c\u8868\u793a\u53ef\u53d8\u5bbd\u5ea6\u7c7b\u578b\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u7c7b\u578b\u4fee\u9970\u7b26\uff08\u53c2\u89c1<code class=\"varname\">pg_attribute.atttypmod</code>\uff09\u3002\u4fee\u9970\u7b26\u7684\u542b\u4e49\u662f\u7279\u5b9a\u4e8e\u7c7b\u578b\u7684\u3002</p>\n</p>\n</dd>\n<dt><span class=\"term\">Int16</span></dt>\n<dd>\n<p lang=\"zh\">\n<p>\u5b57\u6bb5\u6240\u4f7f\u7528\u7684\u683c\u5f0f\u4ee3\u7801\u3002\u76ee\u524d\u4e3a\u96f6\uff08\u6587\u672c\uff09\u6216\u4e00\uff08\u4e8c\u8fdb\u5236\uff09\u3002\u5bf9\u4e8e Describe \u9488\u5bf9\u9884\u5907\u8bed\u53e5\u7684\u53d8\u4f53\u6240\u8fd4\u56de\u7684 RowDescription\uff0c\u683c\u5f0f\u4ee3\u7801\u5c1a\u672a\u786e\u5b9a\uff0c\u59cb\u7ec8\u4e3a\u96f6\u3002</p>\n</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/18/protocol-message-formats.html", "localization": {"status": "complete", "sources": [{"url": "/docs/18/datatype-json.html", "method": "same-major semantic node", "sha256": "b9e8f98a0b5f2a4ec7b5197d02ab40c0ac0635a678c32728aaadd43cb4cd3766", "language": "zh", "matched_nodes": ["#DATATYPE-JSON/div[19]/pre[27]/em[4]/code[0]"]}, {"url": "/docs/18/protocol-message-formats.html", "method": "same-major semantic node", "sha256": "add610bc3053cbc2f8d57b8a89e7e9d17dca8906d66221e9268c1dd1b390d0b5", "language": "zh", "matched_nodes": ["#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[1]/div[0]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[0]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[0]/dl[0]/dd[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[11]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[13]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[1]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[3]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[5]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[7]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/div[2]/dl[0]/dd[9]", "#PROTOCOL-MESSAGE-FORMATS/div[2]/dl[0]/dd[91]/p[1]"]}], "language": "zh", "original_text": {"/versions/18/description/0": "RowDescription is a backend protocol message. Identifies the message as a row description.", "/versions/18/facts/0/label": "Direction", "/versions/18/facts/0/value": "Backend \u2192 frontend", "/versions/18/facts/1/label": "First wire field", "/versions/18/facts/2/label": "Field entries", "/versions/18/facts/3/label": "Documented flow contexts", "/versions/18/facts/3/value": "Simple Query; Extended Query", "/versions/18/tables/0/title": "Wire fields in documented order", "/versions/18/related/0/label": "Protocol flow and exchange examples", "/versions/18/related/1/label": "Protocol overview", "/versions/18/related/2/label": "Simple Query", "/versions/18/related/3/label": "Extended Query", "/versions/18/sections/0/title": "Framing and repetition", "/versions/18/tables/0/rows/0/c2": "Identifies the message as a row description.", "/versions/18/tables/0/rows/1/c2": "Length of message contents in bytes, including self.", "/versions/18/tables/0/rows/2/c2": "Specifies the number of fields in a row (can be zero).", "/versions/18/tables/0/rows/3/c1": "String", "/versions/18/tables/0/rows/3/c2": "The field name.", "/versions/18/tables/0/rows/4/c2": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero.", "/versions/18/tables/0/rows/5/c2": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero.", "/versions/18/tables/0/rows/6/c2": "The object ID of the field's data type.", "/versions/18/tables/0/rows/7/c2": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types.", "/versions/18/tables/0/rows/8/c2": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific.", "/versions/18/tables/0/rows/9/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.", "/versions/18/sections/0/paragraphs/0": "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.", "/versions/18/tables/0/columns/0/label": "Position", "/versions/18/tables/0/columns/1/label": "Format", "/versions/18/tables/0/columns/2/label": "Meaning"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "4da136c11943f4b964a34635c2d1ce1f7805a4a4a3f8289dbfb4c60d8401132f"}, "comparison_data": {"fields": [{"format": "Byte1('T')", "description": "Identifies the message as a row description."}, {"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int16", "description": "Specifies the number of fields in a row (can be zero)."}, {"format": "String", "description": "The field name."}, {"format": "Int32", "description": "If the field can be identified as a column of a specific table, the object ID of the table; otherwise zero."}, {"format": "Int16", "description": "If the field can be identified as a column of a specific table, the attribute number of the column; otherwise zero."}, {"format": "Int32", "description": "The object ID of the field's data type."}, {"format": "Int16", "description": "The data type size (see pg_type.typlen ). Note that negative values denote variable-width types."}, {"format": "Int32", "description": "The type modifier (see pg_attribute.atttypmod ). The meaning of the modifier is type-specific."}, {"format": "Int16", "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."}], "direction": "B"}, "comparison_hash": "c9564ef40952fb1d8e6902b417759ad1c7f1cdb53baa6e854aa77b36a730a851", "manual_language": "zh"}, "comparison": {"left": "17", "right": "18", "status": "unchanged", "diff": ""}}