↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

Wiki / 协议消息

Bind

Bind is a frontend protocol message. Identifies the message as a Bind command.

当前阅读 PG 18·选择有来源记录的版本

此版本暂无所选语言的定义,以下显示原始英文内容。

Direction
Frontend → backend
First wire field
Byte1('B')
Field entries
11
Documented flow contexts
Extended Query; Function Call
direction
F
manual path
/docs/18/protocol-message-formats.html
signature
Bind (F)

版本定义 PG 18

Byte1('B')

Identifies the message as a Bind command.

Int32

Length of message contents in bytes, including self.

String

The name of the destination portal (an empty string selects the unnamed portal).

String

The name of the source prepared statement (an empty string selects the unnamed prepared statement).

Int16

The number of parameter format codes that follow (denoted C below). This can be zero to indicate that there are no parameters or that the parameters all use the default format (text); or one, in which case the specified format code is applied to all parameters; or it can equal the actual number of parameters.

Int16[C]

The parameter format codes. Each must presently be zero (text) or one (binary).

Int16

The number of parameter values that follow (possibly zero). This must match the number of parameters needed by the query.

Next, the following pair of fields appear for each parameter:

Int32

The length of the parameter value, in bytes (this count does not include itself). Can be zero. As a special case, -1 indicates a NULL parameter value. No value bytes follow in the NULL case.

Byten

The value of the parameter, in the format indicated by the associated format code. n is the above length.

After the last parameter, the following fields appear:

Int16

The number of result-column format codes that follow (denoted R below). This can be zero to indicate that there are no result columns or that the result columns should all use the default format (text); or one, in which case the specified format code is applied to all result columns (if any); or it can equal the actual number of result columns of the query.

Int16[R]

The result-column format codes. Each must presently be zero (text) or one (binary).

Wire fields in documented order

PositionFormatMeaning
1Byte1('B')Identifies the message as a Bind command.
2Int32Length of message contents in bytes, including self.
3StringThe name of the destination portal (an empty string selects the unnamed portal).
4StringThe name of the source prepared statement (an empty string selects the unnamed prepared statement).
5Int16The number of parameter format codes that follow (denoted C below). This can be zero to indicate that there are no parameters or that the parameters all use the default format (text); or one, in which case the specified format code is applied to all parameters; or it can equal the actual number of parameters.
6Int16[ C ]The parameter format codes. Each must presently be zero (text) or one (binary).
7Int16The number of parameter values that follow (possibly zero). This must match the number of parameters needed by the query.
8Int32The length of the parameter value, in bytes (this count does not include itself). Can be zero. As a special case, -1 indicates a NULL parameter value. No value bytes follow in the NULL case.
9Byte nThe value of the parameter, in the format indicated by the associated format code. n is the above length.
10Int16The number of result-column format codes that follow (denoted R below). This can be zero to indicate that there are no result columns or that the result columns should all use the default format (text); or one, in which case the specified format code is applied to all result columns (if any); or it can equal the actual number of result columns of the query.
11Int16[ R ]The result-column format codes. Each must presently be zero (text) or one (binary).

比较版本

完整来源事实

fields

map[description:Identifies the message as a Bind command. format:Byte1('B')], map[description:Length of message contents in bytes, including self. format:Int32], map[description:The name of the destination portal (an empty string selects the unnamed portal). format:String], map[description:The name of the source prepared statement (an empty string selects the unnamed prepared statement). format:String], map[description:The number of parameter format codes that follow (denoted C below). This can be zero to indicate that there are no parameters or that the parameters all use the default format (text); or one, in which case the specified format code is applied to all parameters; or it can equal the actual number of parameters. format:Int16], map[description:The parameter format codes. Each must presently be zero (text) or one (binary). format:Int16[ C ]], map[description:The number of parameter values that follow (possibly zero). This must match the number of parameters needed by the query. format:Int16], map[description:The length of the parameter value, in bytes (this count does not include itself). Can be zero. As a special case, -1 indicates a NULL parameter value. No value bytes follow in the NULL case. format:Int32], map[description:The value of the parameter, in the format indicated by the associated format code. n is the above length. format:Byte n], map[description:The number of result-column format codes that follow (denoted R below). This can be zero to indicate that there are no result columns or that the result columns should all use the default format (text); or one, in which case the specified format code is applied to all result columns (if any); or it can equal the actual number of result columns of the query. format:Int16], map[description:The result-column format codes. Each must presently be zero (text) or one (binary). format:Int16[ R ]]

来源引用

完整定义与证据 JSON

定义来源

center · PostgreSQL 18 · 555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f

正文语言: en · 555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f