PostgreSQL7.0手册-开发者手册 -64. 前端/后端协议
D).
Int32
声明提供给函数的参数个数.
然后,每个参数用下面格式声明:
Int32
声明参数值的尺寸,除去尺寸本身的长度.
Byten
声明以二进制格式表示的字段值本身. n 是上面的尺寸.
FunctionResultResponse (B)
Byte1('V')
标识这条消息是函数调用结果.
Byte1('G')
声明返回了一个非空结果.
Int32
声明结果值的尺寸,除去尺寸本身长度.
Byten
声明二进制格式表示的结果值本身.n 是上面的尺寸.
Byte1('0')
未用.(严格的说,FunctionResultResponse 和 FunctionVoidResponse 都是一样的东西,但是消息里有一些可选的部分.)
FunctionVoidResponse (B)
Byte1('V')
标识这条消息是一个函数调用结果.
Byte1('0')
声明返回了一个空结果.
NoticeResponse (B)
Byte1('N')
标识消息是一个通知.
String
通知消息本身.
NotificationResponse (B)
Byte1('A')
标识消息是一个通知响应.
Int32
发出通知的后端进程的进程号(PID).
String
生成通知的条件名.
Query (F)
Byte1('Q')
标识此消息是一条查询.
String
查询字串本身.
ReadyForQuery (B)
Byte1('Z')
标识消息类型.当后端准备好进入一个新的查询循环时,它发送一条 ReadyForQuery.
RowDescription (B)
Byte1('T')
标识消息是一个行描述消息.
Int16
声明一行里的字段数(可以是零).
然后每个字段,用下面格式表示:
String
声明字段名称.
Int32
声明字段的对象标识(OID).
Int16
声明类型尺寸.
Int32
声明类型修改器.
StartupPacket (F)
Int32(296)
以字节计的包的尺寸.
Int32
协议版本号.最高16位是主版本号.低16位是次版本号.
LimString64
数据库名,缺省时是用户名.
LimString32
用户名.
LimString64
由 postmaster 传递给后端的任何附加的命令行参数.
LimString64
未使用.
LimString64
后端用于调试信息输出的可选 tty (控制台).
Terminate (F)
Byte1('X')
标识这条消息是终止消息.
UnencryptedPasswordPacket (F)
Int32
以字节计的包尺寸.
String
未加密的口令.
--------------------------------------------------------------------------------
Int32
声明提供给函数的参数个数.
然后,每个参数用下面格式声明:
Int32
声明参数值的尺寸,除去尺寸本身的长度.
Byten
声明以二进制格式表示的字段值本身. n 是上面的尺寸.
FunctionResultResponse (B)
Byte1('V')
标识这条消息是函数调用结果.
Byte1('G')
声明返回了一个非空结果.
Int32
声明结果值的尺寸,除去尺寸本身长度.
Byten
声明二进制格式表示的结果值本身.n 是上面的尺寸.
Byte1('0')
未用.(严格的说,FunctionResultResponse 和 FunctionVoidResponse 都是一样的东西,但是消息里有一些可选的部分.)
FunctionVoidResponse (B)
Byte1('V')
标识这条消息是一个函数调用结果.
Byte1('0')
声明返回了一个空结果.
NoticeResponse (B)
Byte1('N')
标识消息是一个通知.
String
通知消息本身.
NotificationResponse (B)
Byte1('A')
标识消息是一个通知响应.
Int32
发出通知的后端进程的进程号(PID).
String
生成通知的条件名.
Query (F)
Byte1('Q')
标识此消息是一条查询.
String
查询字串本身.
ReadyForQuery (B)
Byte1('Z')
标识消息类型.当后端准备好进入一个新的查询循环时,它发送一条 ReadyForQuery.
RowDescription (B)
Byte1('T')
标识消息是一个行描述消息.
Int16
声明一行里的字段数(可以是零).
然后每个字段,用下面格式表示:
String
声明字段名称.
Int32
声明字段的对象标识(OID).
Int16
声明类型尺寸.
Int32
声明类型修改器.
StartupPacket (F)
Int32(296)
以字节计的包的尺寸.
Int32
协议版本号.最高16位是主版本号.低16位是次版本号.
LimString64
数据库名,缺省时是用户名.
LimString32
用户名.
LimString64
由 postmaster 传递给后端的任何附加的命令行参数.
LimString64
未使用.
LimString64
后端用于调试信息输出的可选 tty (控制台).
Terminate (F)
Byte1('X')
标识这条消息是终止消息.
UnencryptedPasswordPacket (F)
Int32
以字节计的包尺寸.
String
未加密的口令.
--------------------------------------------------------------------------------

