↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 13 / 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
预发布版本文档。 PostgreSQL 19beta4 为测试版本,最终发布内容可能有所不同。

1.2. 架构基础 #

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

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

  • 一个服务器进程,负责管理数据库文件、接受客户端应用到数据库的连接,并代表客户端执行数据库操作。数据库服务器程序叫做 postgres。

  • 用户用来执行数据库操作的客户端(前端)应用。客户端应用的形式可以非常多样:可以是一个文本工具,也可以是一个图形应用程序,或者是一个通过访问数据库来显示网页的 Web 服务器,还可以是专门的数据库维护工具。有些客户端应用随 PostgreSQL 发行版一起提供;大多数则由用户开发。

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

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

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.