↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

百科 / 协议消息 / 后端消息

RowDescription

RowDescription 是后端协议消息,表示行描述。

当前查看 PostgreSQL 18.6。

说明

RowDescription 是后端协议消息,表示行描述。

方向
后端 → 前端
首个线上协议字段
Byte1('T')
字段条目
10
手册中的交互阶段
简单查询;扩展查询

用法

RowDescription (B)

消息边界与重复字段

下方完整定义保留重复项、计数与条件字段。表格行号表示文档中的字段定义,并非固定字节偏移量。整数编码与交互流程以同版本协议章节为准。

按手册顺序排列的线上协议字段

位置格式含义
1Byte1('T')标识消息为行描述。
2Int32消息内容的长度(以字节为单位),包括其自身。
3Int16指定一行中的字段数量(可以为零)。
4字符串字段名称。
5Int32如果能够确定该字段是某个特定表的列,则为该表的对象 ID;否则为零。
6Int16如果能够确定该字段是某个特定表的列,则为该列的属性编号;否则为零。
7Int32字段数据类型的对象 ID。
8Int16数据类型大小(参见 pg_type.typlen )。注意,负值表示可变宽度类型。
9Int32类型修饰符(参见 pg_attribute.atttypmod )。修饰符的含义是特定于类型的。
10Int16字段所使用的格式代码。目前为零(文本)或一(二进制)。对于 Describe 针对预备语句的变体所返回的 RowDescription,格式代码尚未确定,始终为零。

手册定义

Byte1('T')

标识消息为行描述。

Int32

消息内容的长度(以字节为单位),包括其自身。

Int16

指定一行中的字段数量(可以为零)。

接下来,每个字段都有以下内容:

字符串

字段名称。

Int32

如果能够确定该字段是某个特定表的列,则为该表的对象 ID;否则为零。

Int16

如果能够确定该字段是某个特定表的列,则为该列的属性编号;否则为零。

Int32

字段数据类型的对象 ID。

Int16

数据类型大小(参见pg_type.typlen)。注意,负值表示可变宽度类型。

Int32

类型修饰符(参见pg_attribute.atttypmod)。修饰符的含义是特定于类型的。

Int16

字段所使用的格式代码。目前为零(文本)或一(二进制)。对于 Describe 针对预备语句的变体所返回的 RowDescription,格式代码尚未确定,始终为零。

相关条目

文档与源码

来源构建
版本
18.6
构建
https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2
来源指纹
555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f

版本比较

PostgreSQL 17 → 18: 无变化。

比较已记录的接口与属性,排除来源指纹和构建元数据。某个样本中没有记录,不能据此判断实际引入或移除的版本。

相关条目

导出 JSON · 返回协议消息 · 收录范围为 PostgreSQL 10 至 20;最早采样版本不一定是实际引入版本。