支持的版本:当前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

50.2. 如何建立连接 #

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

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

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

提交更正

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