目錄
crosstab
等)TABLESAMPLE
的 SYSTEM_ROWS
取樣方法TABLESAMPLE
的 SYSTEM_TIME
取樣方法本附錄和下一附錄包含有關 PostgreSQL 分發版 contrib
目錄中的可選元件的資訊。這些元件包括移植工具、分析實用程式和外掛功能,它們不是 PostgreSQL 核心系統的一部分。它們之所以單獨存在,主要是因為它們面向的受眾有限,或者過於實驗性,無法成為主源樹的一部分。但這並不妨礙它們的有用性。
本附錄涵蓋了 contrib
中的擴充套件和其他伺服器外掛模組庫。 附錄 G 涵蓋了實用程式。
從源分發版構建時,這些可選元件不會自動構建,除非您構建 "world" 目標(請參閱 步驟 2)。您可以透過執行以下命令來構建和安裝所有這些元件:
make
make install
在已配置的源樹的 contrib
目錄中;或者要僅構建和安裝一個選定的模組,請在其子目錄中執行相同的操作。許多模組都有迴歸測試,可以透過執行以下命令來執行:
make check
安裝前或
make installcheck
一旦您運行了 PostgreSQL 伺服器。
如果您使用的是預打包的 PostgreSQL 版本,這些元件通常會作為單獨的子包提供,例如 postgresql-contrib
。
許多元件提供了新的使用者定義函式、運算子或型別,它們被打包為 擴充套件。要使用其中一個擴充套件,在安裝了所需程式碼後,您需要將新的 SQL 物件註冊到資料庫系統中。這可以透過執行 CREATE EXTENSION 命令來完成。在一個新的資料庫中,您可以簡單地執行:
CREATE EXTENSION extension_name
;
此命令僅將新的 SQL 物件註冊到當前資料庫中,因此您需要在要使用該擴充套件功能的每個資料庫中執行它。或者,在資料庫 template1
中執行它,以便該擴充套件將預設複製到隨後建立的資料庫中。
對於所有擴充套件,CREATE EXTENSION
命令必須由資料庫超級使用者執行,除非該擴充套件被認為是 “受信任的”。受信任的擴充套件可以由任何對當前資料庫具有 CREATE
許可權的使用者執行。受信任的擴充套件在以下各節中進行了標識。通常,受信任的擴充套件是那些不能提供對資料庫外部功能的訪問的擴充套件。
以下擴充套件在預設安裝中是受信任的:
btree_gin | fuzzystrmatch | ltree | tcn |
btree_gist | hstore | pgcrypto | tsm_system_rows |
citext | intarray | pg_trgm | tsm_system_time |
cube | isn | seg | unaccent |
dict_int | lo | tablefunc | uuid-ossp |
許多擴充套件允許您將它們的物件安裝到您選擇的模式中。要做到這一點,在 CREATE EXTENSION
命令中新增 SCHEMA
。預設情況下,物件將被放置在您當前的建立目標模式中,該模式預設為 schema_name
public
。
但是請注意,其中一些元件不是這種意義上的 “擴充套件”,而是以其他方式載入到伺服器中,例如透過 shared_preload_libraries。有關詳細資訊,請參閱每個元件的文件。
如果您在文件中發現任何不正確的內容,與您對特定功能的體驗不符,或需要進一步澄清,請使用 此表單 報告文件問題。