| PostgreSQL 7.4 文檔 | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 1. 從頭開始 | Fast Forward | Next |
在我們開始講解之前,我們應該先了解 PostgreSQL 系統的基本體系。 理解 PostgreSQL 的部件之間的相互關系將會使本節顯得更清晰一些。
在數據庫術語裡,PostgreSQL 使用一種客戶端/服務器的模式。一次 PostgreSQL 會話由下列相關的進程(程序)組成:
一個服務器進程,它管理數據庫文件,接受來自客戶端應用與數據庫的聯接,並且代表客戶端在數據庫上執行操作。 數據庫服務器程序叫做 postmaster。
那些需要執行數據庫操作的用戶的客戶端(前端)應用。 客戶端應用可能本身就是多種多樣的:它們可以是一個字符界面的工具, 也可以是一個圖形界面的應用,或者是一個通過訪問數據庫來顯示網頁的 web 服務器,或者是一個特殊的數據庫管理工具。 一些客戶端應用是和 PostgreSQL 發布一起提供的,但絕大部分是用戶開發的。
和典型的客戶端/服務器應用(C/S應用)一樣,這些客戶端和服務器可以在不同的主機上。 這時它們通過 TCP/IP 網絡聯接通訊。 你應該記住的是,在客戶機上可以訪問的文件未必能夠在數據庫服務器機器上訪問(或者只能用不同的文件名進行訪問)。
PostgreSQL 服務器可以處理來自客戶端的多個並發請求。 因此,它為每個請求啟動("fork")一個新的進程。 從這個時候開始,客戶端和新服務器進程就不再經過最初的 postmaster 進程的幹涉進行通訊。 因此, postmaster 總是在運行,等待著聯接, 而客戶端和相關聯的服務器進程則是起起停停。(當然,用戶是肯定看不到這些事情的。我們在這兒談這些主要是為了完整。)