开发快照。 PostgreSQL 20devel 尚未正式发布,内容仍可能变化。
54.6. 消息数据类型 #
本节描述了消息中使用的基本数据类型。
- Int
n(i) # 以网络字节序(最高有效字节在前)表示的
n位整数。如果指定了i,则表示其精确值;否则表示该值可变。例如:Int16、Int32(42)。- Int
n[k] # 由
k个n位整数组成的数组,每个整数都按网络字节序排列。数组长度k总是由消息中更早的某个字段确定。例如:Int16[M]。- String(
s) # 一个以空字符结尾的字符串(C 风格字符串)。字符串没有特定的长度限制。如果指定了
s,则表示其精确值;否则表示该值可变。例如:String、String("user")。注意
后端返回的字符串长度没有预定义的限制。前端较好的编码策略是使用可扩展缓冲区,以便接收所有能放进内存的内容。如果做不到这一点,就应读取完整字符串,并丢弃固定大小的缓冲区容纳不下的尾随字符。
- Byte
n(c) # 精确
n字节。如果字段宽度n不是常数,它总是可以由消息中更早的字段确定。如果指定了c,则表示其精确值。例如:Byte2、Byte1('\n')。