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

1.2. 架构基础 #

在继续之前,你应该先了解PostgreSQL的基本系统架构。 了解PostgreSQL各部分如何交互,会让本章更容易理解。

用数据库术语来说,PostgreSQL采用客户端/服务器模型。一次PostgreSQL会话由以下协同工作的进程(程序)组成:

和典型的客户端/服务器应用一样,客户端和服务器可以位于不同的主机上。 在这种情况下,它们通过 TCP/IP 网络连接通信。 你应该记住这一点,因为在客户端机器上可访问的文件,在数据库服务器机器上可能不可访问 (或者只能使用不同的文件名访问)。

PostgreSQL服务器可以处理来自客户端的多个并发连接。 为此,它会为每个连接启动(forks)一个新进程。 从那时起,客户端和新的服务器进程就无需原始 postgres进程介入而直接通信。 因此,这个管理服务器进程始终在运行,等待客户端连接, 而客户端及其关联的服务器进程则不断创建和退出。 (当然,这一切对用户都是不可见的。这里只是为求完整而提及。)