1.2. 體系基本概念

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

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

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

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