支援的版本:目前 (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

  • 使用者的客戶端(前端)應用程式,用於執行資料庫操作。客戶端應用程式的本質可能非常多樣:客戶端可以是面向文字的工具、圖形應用程式、存取資料庫以顯示網頁的網路伺服器,或專用的資料庫維護工具。某些客戶端應用程式隨 PostgreSQL 發行版一起提供;大多數由使用者開發。

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

PostgreSQL 伺服器可以處理來自客戶端的多個並行連線。為實現此目的,它會為每個連線啟動(forks)一個新處理程序。從那時起,客戶端和新的伺服器處理程序在沒有原始 postgres 處理程序干預的情況下進行通訊。因此,監管伺服器處理程序始終在運行,等待客戶端連線,而客戶端和相關的伺服器處理程序會來來去去。(當然,所有這些對於使用者都是不可見的。我們在此僅為完整起見而提及。)

提交更正

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