🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# Chapter 48\. 前/后端协议 **Table of Contents** + 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 文档。 一个服务器可以支持多种协议版本。初始化的启动消息告诉服务器客户端可以接受的协议版本,然后服务器则遵守该版本的协议(如果它能做到的话)。 为了可以有效地为多个客户端提供服务,服务器为每个客户端派生一个新的"后端"进程。 在目前的实现里,在检测到到来的连接请求后,马上创建一个新的子进程。 不过,这些是对协议透明的。对于协议而言,术语"后端"和"服务器"是可以互换的;类似的还有"前端"和"客户端"也是可以互换的。