9.3 9.4 9.5 9.6 10 11 12 13 14 15 16 17 Current(18)
PostgreSQL中文社区 问题报告 纠错本页面

第 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注册为支持这种协议的服务器的常用端口,但实际上任何非特权端口号都可以使用。

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

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