2025年9月25日: PostgreSQL 18 发布!
支持的版本: 当前 (18) / 17 / 16 / 15 / 14 / 13
开发版本: devel
不支持的版本: 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

51.2. 连接建立方式 #

PostgreSQL 采用 每个用户一个进程 的客户端/服务器模型。在此模型中,每个 客户端进程 只连接到一个 后端进程。由于我们事先不知道会有多少连接,因此必须使用一个 监视进程,在每次请求连接时生成一个新的后端进程。这个监视进程称为 postmaster,它在指定的 TCP/IP 端口监听传入的连接。每当检测到连接请求时,它就会生成一个新的后端进程。这些后端进程通过 信号量共享内存 与彼此以及与 实例 的其他进程进行通信,以确保在并发数据访问期间数据的完整性。

客户端进程可以是任何理解 第 54 章 中描述的 PostgreSQL 协议的程序。许多客户端都基于 C 语言库 libpq,但协议存在多种独立的实现,例如 Java JDBC 驱动程序。

一旦建立连接,客户端进程就可以向其连接的后端进程发送查询。查询以纯文本形式传输,即客户端不进行解析。后端进程解析查询,创建一个 执行计划,执行该计划,然后通过已建立的连接将检索到的行传输回客户端。

提交更正

如果您在文档中发现任何不正确、与您在使用特定功能时的经验不符或需要进一步澄清的内容,请使用 此表格 报告文档问题。