支援的版本: 目前 (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

50.2. 如何建立連線 #

PostgreSQL 實作了每個使用者一個進程的客戶端/伺服器模型。 在此模型中,每個客戶端進程僅連線到一個後端進程。 由於我們無法預先知道將建立多少連線,因此我們必須使用監督進程,以便在每次要求連線時產生新的後端進程。 此監督進程稱為postmaster,並在指定的 TCP/IP 埠監聽傳入的連線。 每當它偵測到連線請求時,它就會產生一個新的後端進程。 這些後端進程彼此之間以及與執行個體的其他進程使用*號誌*和共享記憶體進行通訊,以確保在並行資料存取過程中資料的完整性。

客戶端進程可以是任何瞭解PostgreSQL協定的程式,如第 53 章所述。 許多客戶端都基於 C 語言庫 libpq,但也存在幾個獨立的協定實作,例如 Java JDBC 驅動程式。

一旦建立連線,客戶端進程就可以將查詢傳送到與之連線的後端進程。 查詢以純文字傳輸,即客戶端中不進行任何剖析。 後端進程剖析查詢,建立*執行計畫*,執行計畫,並通過在已建立的連線上傳輸已擷取的列來將它們返回給客戶端。

提交更正

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