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

第 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 客户端库向后兼容协议版本 3.0,该版本在 PostgreSQL 7.4 及更高版本中实现。

为了高效地服务多个客户端,服务器为每个客户端启动一个新的“后端”进程。在当前实现中,在检测到传入连接后立即创建一个新的子进程。但这对于协议来说是透明的。出于协议目的,“后端”和“服务器”是可互换的;同样,“前端”和“客户端”也是可互换的。