Redrock Postgres 搜索 英文
版本: 9.3 / 9.4 / 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17 / 18

Chapter 54. 前端/后端协议

目录

54.1. 概述
54.1.1. 消息概述
54.1.2. 扩展查询概述
54.1.3. 格式和格式代码
54.1.4. 协议版本
54.2. 消息流
54.2.1. 启动
54.2.2. 简单查询
54.2.3. 扩展查询
54.2.4. 流水线处理
54.2.5. 函数调用
54.2.6. COPY操作
54.2.7. 异步操作
54.2.8. 取消正在处理的请求
54.2.9. 终止
54.2.10. SSL会话加密
54.2.11. GSSAPI 会话加密
54.3. SASL认证
54.3.1. SCRAM-SHA-256认证
54.3.2. OAUTHBEARER 认证
54.4. 流复制协议
54.5. 逻辑复制协议
54.5.1. 逻辑复制参数
54.5.2. 逻辑复制协议消息
54.5.3. 逻辑复制协议消息流
54.6. 消息数据类型
54.7. 消息格式
54.8. 错误和通知消息域
54.9. 逻辑复制消息格式
54.10. 自协议2.0以来的变化总结

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

本文描述协议 3.2 版本,该版本在 PostgreSQL 18 中引入。服务器和 libpq 客户端库向后兼容 PostgreSQL 7.4 及以后版本实现的协议 3.0。

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