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

36.1. 可擴充套件性工作原理 #

PostgreSQL 之所以可擴充套件,是因為其操作是面向目錄驅動的。如果您熟悉標準的 andard relational database systems,您會知道它們將有關資料庫、表、列等的資訊儲存在通常稱為系統目錄(system catalogs)的地方。(有些系統稱之為資料字典 data dictionary。)使用者看到的目錄就像其他表一樣,但DBMS將內部的簿記資訊儲存在其中。 PostgreSQL 與 andard relational database systems 的一個關鍵區別是,PostgreSQL 在其目錄中儲存了更多資訊:不僅是有關表和列的資訊,還有有關資料型別、函式、訪問方法等的資訊。這些表可以由使用者修改,並且由於 PostgreSQL 的操作基於這些表,這意味著 PostgreSQL 可以由使用者進行擴充套件。相比之下,傳統的資料庫系統只能透過更改原始碼中的硬編碼過程或載入由DBMS供應商編寫的特殊模組來擴充套件。

此外,PostgreSQL 伺服器還可以透過動態載入來整合使用者編寫的程式碼。也就是說,使用者可以指定一個實現新型別或函式的物件程式碼檔案(例如,共享庫),PostgreSQL 將根據需要載入它。用SQL編寫的程式碼新增到伺服器中就更加簡單了。這種 即時 修改其操作的能力,使 PostgreSQL 在快速原型設計新應用程式和儲存結構方面具有獨特的優勢。

提交更正

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