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

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

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1 / 7.0 / 6.5 / 6.4

第 55 章 前端/后端协议

PostgreSQL 使用一种基于消息的协议在前端和后端(客户端与服务器)之间进行通信。该协议既支持 TCP/IP,也支持 Unix 域套接字。端口号 5432 已在 IANA 注册为支持该协议的服务器的惯用 TCP 端口号,但实际上任何非特权端口号都可以使用。

本文描述协议 3.0 版本,自 PostgreSQL 7.4 起实现。关于更早协议版本的说明,请参阅之前发布的 PostgreSQL 文档。一台服务器可以支持多个协议版本。初始启动请求消息会告知服务器客户端正尝试使用哪个协议版本。如果客户端请求的主版本号不被服务器支持,则连接会被拒绝(例如,如果客户端请求协议版本 4.0,而在本文编写时该版本并不存在,就会出现这种情况)。如果客户端请求的次版本号不被服务器支持(例如客户端请求 3.1,而服务器只支持 3.0),服务器可以拒绝连接,也可以返回一条 NegotiateProtocolVersion 消息,其中包含它所支持的最高次协议版本。客户端随后可以选择使用指定的协议版本继续连接,或者中止连接。

为了高效地为多个客户端提供服务,服务器会为每个客户端启动一个新的“后端”进程。在当前实现中,一旦检测到传入连接,就会立刻创建新的子进程。不过,这一点对协议而言是透明的。就协议而言,术语“后端”和“服务器”可以互换;同样,“前端”和“客户端”也可以互换。

报告文档问题

阅读 上游文档. 通过 PostgreSQL 文档反馈表单.