问题报告 纠错本页面

章 48. 前/后端协议

目录
48.1. 概要
48.1.1. 消息概述
48.1.2. 扩展查询概述
48.1.3. 格式和格式代码
48.2. 消息流
48.2.1. 启动
48.2.2. 简单查询
48.2.3. 扩展查询
48.2.4. 函数调用
48.2.5. COPY操作
48.2.6. 异步操作
48.2.7. 取消正在处理的请求
48.2.8. 终止
48.2.9. SSL会话加密
48.3. 流复制协议
48.4. 消息数据类型
48.5. 消息格式
48.6. 错误和通知消息字段
48.7. 自协议 2.0 以来的变化的概述

PostgreSQL使用一种基于消息的协议用于前端和后端(服务器和客户机)之间通讯。 该协议是在 TCP/IP 和 Unix 域套接字上实现的。 端口号 5432 已经在 IANA 注册为使用这种协议的常用端口,但实际上任何非特权端口号都可以使用。

这份文档描述了版本 3.0 的协议,在 PostgreSQL 7.4 和以后的版本中实现。 对于以前的协议的描述,请参考以前版本的 PostgreSQL 文档。 一个服务器可以支持多种协议版本。初始化的启动消息告诉服务器客户端可以接受的协议版本,然后服务器则遵守该版本的协议(如果它能做到的话)。

为了可以有效地为多个客户端提供服务,服务器为每个客户端派生一个新的"后端"进程。 在目前的实现里,在检测到到来的连接请求后,马上创建一个新的子进程。 不过,这些是对协议透明的。对于协议而言,术语"后端""服务器"是可以互换的;类似的还有"前端""客户端"也是可以互换的。