2025年9月25日: PostgreSQL 18 釋出!
支援的版本: 當前 (18) / 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 / 7.1

51.2. 連線建立方式 #

PostgreSQL 採用 每個使用者一個程序 的客戶端/伺服器模型。在此模型中,每個 客戶端程序 只連線到一個 後端程序。由於我們事先不知道會有多少連線,因此必須使用一個 監視程序,在每次請求連線時生成一個新的後端程序。這個監視程序稱為 postmaster,它在指定的 TCP/IP 埠監聽傳入的連線。每當檢測到連線請求時,它就會生成一個新的後端程序。這些後端程序透過 訊號量共享記憶體 與彼此以及與 例項 的其他程序進行通訊,以確保在併發資料訪問期間資料的完整性。

客戶端程序可以是任何理解 第 54 章 中描述的 PostgreSQL 協議的程式。許多客戶端都基於 C 語言庫 libpq,但協議存在多種獨立的實現,例如 Java JDBC 驅動程式。

一旦建立連線,客戶端程序就可以向其連線的後端程序傳送查詢。查詢以純文字形式傳輸,即客戶端不進行解析。後端程序解析查詢,建立一個 執行計劃,執行該計劃,然後透過已建立的連線將檢索到的行傳輸回客戶端。

提交更正

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