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

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

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

Bind

Bind 是前端协议消息,表示 Bind 命令。

当前查看 PostgreSQL 18.6。

说明

Bind 是前端协议消息,表示 Bind 命令。

方向
前端 → 后端
首个线上协议字段
Byte1('B')
字段条目
11
手册中的交互阶段
扩展查询;函数调用

用法

Bind (F)

消息边界与重复字段

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

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

位置格式含义
1Byte1('B')将该消息标识为 Bind 命令。
2Int32消息内容的长度(以字节为单位),包括其自身。
3字符串目标 portal 的名称(空字符串选择未命名的 portal)。
4字符串源预备语句的名称(空字符串选择未命名的预备语句)。
5Int16后续参数格式代码的数量(下文以 C 表示)。可以为零,表示没有参数,或者所有参数都使用默认格式(文本);也可以为一,此时指定的格式代码应用于所有参数;还可以等于实际参数数量。
6Int16[ C ]参数格式代码。目前每个格式代码必须为零(文本)或一(二进制)。
7Int16后续参数值的数量(可以为零)。必须与查询所需的参数数量一致。
8Int32参数值的长度,以字节为单位(不包括此长度字段本身)。可以为零。特殊值 -1 表示 NULL 参数值。为 NULL 时,后面不再有值的字节。
9Byte n参数值,格式由对应的格式代码指明。 n 为上述长度。
10Int16后续结果列格式代码的数量(下文以 R 表示)。可以为零,表示没有结果列,或者所有结果列都应使用默认格式(文本);也可以为一,此时指定的格式代码应用于所有结果列(如果有);还可以等于查询实际的结果列数量。
11Int16[ R ]结果列格式代码。目前每个格式代码必须为零(文本)或一(二进制)。

手册定义

Byte1('B')

将该消息标识为 Bind 命令。

Int32

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

字符串

目标 portal 的名称(空字符串选择未命名的 portal)。

字符串

源预备语句的名称(空字符串选择未命名的预备语句)。

Int16

后续参数格式代码的数量(下文以 C 表示)。可以为零,表示没有参数,或者所有参数都使用默认格式(文本);也可以为一,此时指定的格式代码应用于所有参数;还可以等于实际参数数量。

Int16[C]

参数格式代码。目前每个格式代码必须为零(文本)或一(二进制)。

Int16

后续参数值的数量(可以为零)。必须与查询所需的参数数量一致。

接下来,每个参数都有以下一对字段:

Int32

参数值的长度,以字节为单位(不包括此长度字段本身)。可以为零。特殊值 -1 表示 NULL 参数值。为 NULL 时,后面不再有值的字节。

Byte n

参数值,格式由对应的格式代码指明。n 为上述长度。

最后一个参数之后是以下字段:

Int16

后续结果列格式代码的数量(下文以 R 表示)。可以为零,表示没有结果列,或者所有结果列都应使用默认格式(文本);也可以为一,此时指定的格式代码应用于所有结果列(如果有);还可以等于查询实际的结果列数量。

Int16[R]

结果列格式代码。目前每个格式代码必须为零(文本)或一(二进制)。

相关条目

文档与源码

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

版本比较

PostgreSQL 17 → 18: 无变化。

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

相关条目

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