在继续之前,你应该先了解PostgreSQL的基本系统架构。 了解PostgreSQL各部分如何交互,会让本章更容易理解。
用数据库术语来说,PostgreSQL采用客户端/服务器模型。一次PostgreSQL会话由以下协同工作的进程(程序)组成:
和典型的客户端/服务器应用一样,客户端和服务器可以位于不同的主机上。 在这种情况下,它们通过 TCP/IP 网络连接通信。 你应该记住这一点,因为在客户端机器上可访问的文件,在数据库服务器机器上可能不可访问 (或者只能使用不同的文件名访问)。
PostgreSQL服务器可以处理来自客户端的多个并发连接。 为此,它会为每个连接启动(“forks”)一个新进程。 从那时起,客户端和新的服务器进程就无需原始 postgres进程介入而直接通信。 因此,这个管理服务器进程始终在运行,等待客户端连接, 而客户端及其关联的服务器进程则不断创建和退出。 (当然,这一切对用户都是不可见的。这里只是为求完整而提及。)
如果您发现文档中有不正确的内容、与您使用特定功能的经验不符或需要进一步说明,请使用此表单来报告文档问题。