1.2. 體系基本概念

在我們開始講解之前,我們應該先了解 PostgreSQL 系統的基本體系。 理解 PostgreSQL 的部件之間的相互關系將會使本節顯得更清晰一些。

在數據庫術語裡,PostgreSQL 使用一種客戶端/服務器的模式。一次 PostgreSQL 會話由下列相關的進程(程序)組成:

和典型的客戶端/服務器應用(C/S應用)一樣,這些客戶端和服務器可以在不同的主機上。 這時它們通過 TCP/IP 網絡聯接通訊。 你應該記住的是,在客戶機上可以訪問的文件未必能夠在數據庫服務器機器上訪問(或者只能用不同的文件名進行訪問)。

PostgreSQL 服務器可以處理來自客戶端的多個並發請求。 因此,它為每個請求啟動("fork")一個新的進程。 從這個時候開始,客戶端和新服務器進程就不再經過最初的 postmaster 進程的幹涉進行通訊。 因此, postmaster 總是在運行,等待著聯接, 而客戶端和相關聯的服務器進程則是起起停停。(當然,用戶是肯定看不到這些事情的。我們在這兒談這些主要是為了完整。)