PostgreSQL 實作了「每個使用者一個進程」的客戶端/伺服器模型。 在此模型中,每個客戶端進程僅連線到一個後端進程。 由於我們無法預先知道將建立多少連線,因此我們必須使用「監督進程」,以便在每次要求連線時產生新的後端進程。 此監督進程稱為postmaster,並在指定的 TCP/IP 埠監聽傳入的連線。 每當它偵測到連線請求時,它就會產生一個新的後端進程。 這些後端進程彼此之間以及與執行個體的其他進程使用*號誌*和共享記憶體進行通訊,以確保在並行資料存取過程中資料的完整性。
客戶端進程可以是任何瞭解PostgreSQL協定的程式,如第 53 章所述。 許多客戶端都基於 C 語言庫 libpq,但也存在幾個獨立的協定實作,例如 Java JDBC 驅動程式。
一旦建立連線,客戶端進程就可以將查詢傳送到與之連線的後端進程。 查詢以純文字傳輸,即客戶端中不進行任何剖析。 後端進程剖析查詢,建立*執行計畫*,執行計畫,並通過在已建立的連線上傳輸已擷取的列來將它們返回給客戶端。
如果您在文件中發現任何不正確、與您使用特定功能的體驗不符或需要進一步說明的內容,請使用此表單報告文件問題。