52.7. 邮件格式

本节描述每条消息的详细格式。每个标记都表示可以通过前端(F),后端(B)或同时通过两者(F&B)发送。请注意,尽管每个消息的开头都包含一个字节数,但是定义了消息格式,以便可以在不参考字节数的情况下找到消息结尾。这有助于有效性检查。 (CopyData 消息是一个 exception,因为它构成数据流的一部分;任何单独的 CopyData 消息的内容都无法自行解释.)

消息正文按服务器的优先 Sequences 列出了 SASL 身份验证机制。最后一个身份验证机制名称后,需要一个零字节作为终止符。对于每种机制,都有以下内容:

接下来,为每个参数显示以下字段对:

在最后一个参数之后,将显示以下字段:

对于INSERT命令,标记为INSERT oid rows,其中* rows *是插入的行数。 * oid 是插入行的对象 ID,如果 rows 为 1 并且目标表具有 OID;否则 oid *为 0.

对于DELETE命令,标记为DELETE rows,其中* rows *是已删除的行数。

对于UPDATE命令,标记为UPDATE rows,其中* rows *是更新的行数。

对于SELECTCREATE TABLE AS命令,标记为SELECT rows,其中* rows *是检索到的行数。

对于MOVE命令,标记为MOVE rows,其中* rows *是更改了光标位置的行数。

对于FETCH命令,标记为FETCH rows,其中* rows *是已从游标检索到的行数。

对于COPY命令,标记为COPY rows,其中* rows *是复制的行数。 (注意:行数仅在 PostgreSQL 8.2 及更高版本中显示.)

接下来,为每列显示以下字段对:

邮件正文由一个或多个标识的字段组成,后跟一个零字节作为终止符。字段可以按任何 Sequences 出现。对于每个字段,都有以下内容:

接下来,为每个参数显示以下字段对:

最后一个参数之后,将显示以下字段:

然后,对于服务器无法识别的协议选项,有以下内容:

邮件正文由一个或多个标识的字段组成,后跟一个零字节作为终止符。字段可以按任何 Sequences 出现。对于每个字段,都有以下内容:

然后,对于每个参数,有以下内容:

然后,对于每个参数,有以下内容:

然后,对于每个字段,都有以下内容:

协议版本号后跟一对或多对参数名称和值字符串。在姓/值对之后,需要一个零字节作为终止符。参数可以以任何 Sequences 出现。 user是必需的,其他是可选的。每个参数指定为:

除上述以外,还可以列出其他参数。保留以_pq_.开头的参数名称以用作协议扩展,而其他名称则视为在后端启动时设置的运行时参数。此类设置将在后端启动过程中应用(在解析命令行参数(如果有)之后)并将其用作会话默认值。

上一章 首页 下一章