2025年9月25日: PostgreSQL 18 釋出!
支援的版本: 當前 (18) / 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

1.2. 架構基礎 #

在繼續之前,您應該瞭解基本的 PostgreSQL 系統架構。理解 PostgreSQL 的各個部分如何互動將使本章更加清晰。

在資料庫行話中,PostgreSQL 使用客戶端/伺服器模型。一個 PostgreSQL 會話由以下協同工作的程序(程式)組成:

  • 一個伺服器程序,它管理資料庫檔案,接受來自客戶端應用程式的資料庫連線,並代表客戶端執行資料庫操作。資料庫伺服器程式稱為 postgres

  • 使用者想要執行資料庫操作的客戶端(前端)應用程式。客戶端應用程式在性質上可以非常多樣化:客戶端可以是面向文字的工具,圖形應用程式,訪問資料庫以顯示網頁的 Web 伺服器,或者專門的資料庫維護工具。一些客戶端應用程式隨 PostgreSQL 分發版一起提供;大多數由使用者開發。

與典型的客戶端/伺服器應用程式一樣,客戶端和伺服器可以位於不同的主機上。在這種情況下,它們透過 TCP/IP 網路連線進行通訊。您應該記住這一點,因為在客戶端計算機上可以訪問的檔案在資料庫伺服器計算機上可能無法訪問(或者只能使用不同的檔名訪問)。

PostgreSQL 伺服器可以處理來自客戶端的多個併發連線。為了實現這一點,它會為每個連線啟動(fork)一個新的程序。從那時起,客戶端和新的伺服器程序無需原始 postgres 程序的干預即可通訊。因此,主管伺服器程序始終在執行,等待客戶端連線,而客戶端和相關的伺服器程序則會不斷地出現和消失。(當然,這一切對使用者來說都是不可見的。這裡只是為了完整起見而提到。)

提交更正

如果您在文件中看到任何不正確、與您在使用特定功能時的經驗不符或需要進一步說明的內容,請使用此表格報告文件問題。