PostgreSQL 18 中文参考文档(未翻译部分保留英文)🌐 切换到英文原版 →

1.2. 体系架构基础 #

在深入后续操作之前,了解 PostgreSQL 的基础体系架构将有助于更清晰地理解本章内容。

按照数据库领域的术语,PostgreSQL 采用标准的客户端/服务器(C/S)架构模式。一个典型的 PostgreSQL 会话由以下协同运行的进程(程序)组成:

作为典型的客户端/服务器架构,客户端与服务端可以分别部署在不同的物理主机上。此时它们通过 TCP/IP 网络连接进行通信。在实践中需要牢记这一点,因为在客户端机器上可以本地访问的文件,在数据库服务器主机上可能无法访问(或者需要使用不同的远程路径名才能访问)。

PostgreSQL 服务器支持处理来自客户端的大量高并发连接。为此,它会为每一个新建立的客户端连接派生(“fork”)一个新的后台工作进程。自此之后,客户端与对应的新服务端工作进程直接进行通信,不再需要原始主 postgres 进程介入。因此,主管理监听进程始终在后台持续运行、等待新的客户端连接,而客户端及其关联的服务端会话进程则伴随业务连接动态创建和退出(这一内部调度机制对终端用户完全透明,在此提及仅为了知识架构的完整性)。