共用方式為


Azure Cosmos DB for PostgreSQL 中的 PostgreSQL 延伸模組

適用於: Azure Cosmos DB for PostgreSQL (由 PostgreSQL 的超大規模 (Citus) 資料庫延伸模組提供)

PostgreSQL 會使用延伸模組擴充資料庫的功能。 擴充功能可在單一封裝中一併統合多個相關的 SQL 物件,其可使用單一命令從您的資料庫加以載入或移除。 載入到資料庫之後,延伸模組即可發揮和內建功能一樣的作用。 如需 PostgreSQL 擴充功能的詳細資訊,請參閱將相關物件封裝成擴充功能 (英文)

使用 PostgreSQL 擴充功能

您必須先在資料庫中安裝 PostgreSQL 擴充功能,然後才能使用它們。 若要安裝特定的擴充功能,請從 psql 工具執行 CREATE EXTENSION 命令,以將封裝的物件載入至您的資料庫。

注意

如果 CREATE EXTENSION 失敗併發生權限拒絕錯誤,請改為嘗試 create_extension() 函式。 例如:

SELECT create_extension('postgis');

若要移除以這種方式安裝的擴充功能,請使用 drop_extension()

Azure Cosmos DB for PostgreSQL 目前支援的部分重要延伸模組如下所列。 不支援所列出以外的擴充功能。 您無法透過 Azure Cosmos DB for PostgreSQL 自行建立延伸模組。

Azure Cosmos DB for PostgreSQL 支援的延伸模組

下表列出Azure Cosmos DB for PostgreSQL 上支援的標準 PostgreSQL 擴充功能。 此資訊也可以藉由執行 SELECT * FROM pg_available_extensions; 來取得。

叢集中安裝的每個延伸模組版本有時會根據 PostgreSQL 版本 (11, 12, 13, 14, 15, 或 16) 而有所不同。 資料表會列出每個資料庫版本的擴充功能版本。

Citus 擴充功能

副檔名 說明 PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
citus Citus 分散式資料庫。 9.5 10.2 11.3 12.1 12.1 12.1

資料類型擴充功能

副檔名 說明 PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
citext 提供不區分大小寫的字元字串類型。 1.5 1.6 1.6 1.6 1.6 1.6
cube 提供多維度 Cube 的資料類型。 1.4 1.4 1.4 1.5 1.5 1.5
hll 提供 HyperLogLog 資料結構。 2.18 2.18 2.18 2.18 2.18 2.18
hstore 提供用來儲存機碼值組之集合的資料類型。 1.5 1.6 1.7 1.8 1.8 1.8
isn 提供國際產品編號標準的資料類型。 1.2 1.2 1.2 1.2 1.2 1.2
lo 大型物件維護。 1.1 1.1 1.1 1.1 1.1 1.1
ltree 提供階層式樹狀結構的資料類型。 1.1 1.1 1.2 1.2 1.2 1.2
seg 表示路徑線段或浮點間隔的資料類型。 1.3 1.3 1.3 1.4 1.4 1.4
tdigest 以順位為基礎的統計資料進行線上累積的資料類型,例如分位數和修剪的方法。 1.4.1 1.4.1 1.4.1 1.4.1 1.4.1 1.4.1
topn 前 n 個 JSONB 的類型。 2.6.0 2.6.0 2.6.0 2.6.0 2.6.0 2.6.0

全文檢索搜尋擴充功能

副檔名 說明 PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
dict_int 提供整數的文字搜尋字典範本。 1.0 1.0 1.0 1.0 1.0 1.0
dict_xsyn 用於擴充同義字處理的文字搜尋字典範本。 1.0 1.0 1.0 1.0 1.0 1.0
unaccent 文字搜尋字典,可從詞彙中移除重音符號 (變音符號)。 1.1 1.1 1.1 1.1 1.1 1.1

函數擴充功能

副檔名 說明 PG 11 PG 12 PG 13 PG 14 PG 15 PG 15
autoinc 自動遞增欄位的函式。 1.0 1.0 1.0 1.0 1.0 1.0
earthdistance 提供方法來計算地球表面上的大圓距離。 1.1 1.1 1.1 1.1 1.1 1.1
fuzzystrmatch 提供數個函數來判斷字串之間的相似性與距離。 1.1 1.1 1.1 1.1 1.1 1.2
insert_username 追蹤變更資料表人員的函式。 1.0 1.0 1.0 1.0 1.0 1.0
intagg 整數匯總工具和列舉程式 (過時)。 1.1 1.1 1.1 1.1 1.1 1.1
intarray 提供函數和運算子來操作無 null 的整數陣列。 1.2 1.2 1.3 1.5 1.5 1.5
moddatetime 追蹤上次修改時間的函式。 1.0 1.0 1.0 1.0 1.0 1.0
orafce 模擬函式和套件子集 (來 Oracle RDBMS) 的函式和運算子。 4.9 4.9 4.9
pg_partman 依時間或識別碼管理分割的資料表。 4.7.4 4.7.4 4.7.4 5.1.0 5.1.0 5.1.0
pg_surgery 用來對受損的關係執行修復的函式。 1.0 1.0 1.0
pg_trgm 提供可根據三併詞比對判斷英數文字相似度的函式和運算子。 1.4 1.4 1.5 1.6 1.6 1.6
pgcrypto 提供密碼編譯函式。 1.3 1.3 1.3 1.3 1.3 1.3
refint 實作參考完整性的函式 (過時)。 1.0 1.0 1.0 1.0 1.0 1.0
tablefunc 提供操縱整個資料表 (包括交叉資料表) 的函式。 1.0 1.0 1.0 1.0 1.0 1.0
tcn 觸發的變更通知。 1.0 1.0 1.0 1.0 1.0 1.0
timetravel 實作時間移動的函式。 1.0
uuid-ossp 產生通用唯一識別碼 (UUID)。 1.1 1.1 1.1 1.1 1.1 1.1

索引類型擴充功能

副檔名 說明 PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
bloom Bloom 存取方法 - 簽章檔案型索引。 1.0 1.0 1.0 1.0 1.0 1.0
btree_gin 提供範例 GIN 運算子類別,可針對特定資料類型實作類似 B 型樹狀結構的行為。 1.3 1.3 1.3 1.3 1.3 1.3
btree_gist 提供可實作 B 型樹狀結構的 GiST 索引運算子類別。 1.5 1.5 1.5 1.6 1.7 1.7

語言延伸模組

副檔名 說明 PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
plpgsql PL/pgSQL 可載入的程序性語言。 1.0 1.0 1.0 1.0 1.0 1.0

其他擴充功能

副檔名 說明 PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
amcheck 用來驗證關聯完整性的函式。 1.1 1.2 1.2 1.3 1.3 1.3
dblink 支援從資料庫工作階段連線至其他 PostgreSQL 資料庫的模組。 如需此擴充功能的相關資訊,請參閱「dblink 與 postgres_fdw」一節。 1.2 1.2 1.2 1.2 1.2 1.2
old_snapshot 允許檢查用來實作 old_snapshot_threshold 的伺服器狀態。 1.0 1.0 1.0
pageinspect 檢查低層級的資料庫頁面內容。 1.7 1.7 1.8 1.9 1.11 1.12
pg_azure_storage 適用於 PostgreSQL 的 Azure 整合。 1.3 1.3 1.3 1.3
pg_buffercache 提供一種方法,即時檢查共用緩衝區快取中發生的狀況。 1.3 1.3 1.3 1.3 1.3 1.4
pg_cron PostgreSQL 的工作排程器。 1.5 1.6 1.6 1.6 1.6 1.6
pg_freespacemap 檢查可用空間對應 (FSM)。 1.2 1.2 1.2 1.2 1.2 1.2
pg_prewarm 提供一種方式,來將關聯資料載入至緩衝區快取。 1.2 1.2 1.2 1.2 1.2 1.2
pg_stat_statements 提供一種方法,來追蹤伺服器所執行之所有 SQL 陳述式的執行統計資料。 如需此擴充功能的相關資訊,請參閱「pg_stat_statements」一節。 1.6 1.7 1.8 1.9 1.10 1.10
pg_visibility 檢查可見性對應 (VM) 和頁面層級可見性資訊。 1.2 1.2 1.2 1.2 1.2 1.2
pgrowlocks 提供方法來顯示資料列層級鎖定的資訊。 1.2 1.2 1.2 1.2 1.2 1.2
pgstattuple 提供方法來顯示 Tuple 層級統計資料。 1.5 1.5 1.5 1.5 1.5 1.5
postgres_fdw 可用來存取儲存於外部 PostgreSQL 伺服器之資料的外部資料包裝函式。 如需此擴充功能的相關資訊,請參閱「dblink 與 postgres_fdw」一節。 1.0 1.0 1.0 1.1 1.1 1.1
sslinfo TLS/SSL 憑證的相關資訊。 1.2 1.2 1.2 1.2 1.2 1.2
tsm_system_rows TABLESAMPLE 方法,接受資料列數目做為限制。 1.0 1.0 1.0 1.0 1.0 1.0
tsm_system_time TABLESAMPLE 方法,接受以毫秒為單位的時間做為限制。 1.0 1.0 1.0 1.0 1.0 1.0
xml2 XPath 查詢和 XSLT。 1.1 1.1 1.1 1.1 1.1 1.1

Pgvector 延伸模組

副檔名 說明 PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
pgvector 開放原始碼向量相似度搜尋Postgres 0.5.1 0.7.0 0.7.0 0.7.0 0.7.0 0.7.0

PostGIS 擴充功能

副檔名 說明 PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
PostGIS 適用於 PostgreSQL 的空間與地理物件。 3.3.4 3.4.1 3.4.1 3.4.1 3.4.1 3.4.1
address_standardizer 用來將位址剖析為組成項目。 用來支援對位址進行地理編碼的正規化步驟。 3.3.4 3.4.2 3.4.2 3.4.2 3.4.2 3.4.2
postgis_sfcgal PostGIS SFCGAL 函式。 3.3.4 3.4.2 3.4.2 3.4.2 3.4.2 3.4.2
postgis_topology PostGIS 拓撲空間類型和函式。 3.3.4 3.4.2 3.4.2 3.4.2 3.4.2 3.4.2

pg_stat_statements

每個 Azure Cosmos DB for PostgreSQL 叢集都已預先載入 pg_stat_statements 延伸模組,讓您可以追蹤 SQL 陳述式的執行統計資料。

pg_stat_statements.track 設定會控制擴充功能所計算的陳述式。 其預設為 top,這表示會追蹤用戶端直接發出的所有陳述式。 其他兩個會追蹤層級 noneall

pg_stat_statements 提供查詢執行資訊,不過會對於伺服器效能造成影響,因為其會記錄每個 SQL 陳述式。 如果您不主動使用 pg_stat_statements 延伸模組,我們建議您將 pg_stat_statements.track 設定為 none。 某些協力廠商監視服務可能會需要 pg_stat_statements 傳遞查詢效能深入解析,因此請確認其否為您的情況。

您可以使用 dblink 和 postgres_fdw 從一個 PostgreSQL 伺服器連線至另一個伺服器,或連線至相同伺服器中的另一個資料庫。 接收端伺服器必須允許來自傳送端伺服器通過其防火牆的連線。 若要使用這些擴充功能,在具有公用存取的 Azure Cosmos DB for PostgreSQL 叢集之間連線,請將允許 Azure 服務和資源存取此叢集 (或伺服器) 設為 ON。 如果您想要使用擴充功能來回送回相同的伺服器,則也需要將此設定 [開啟]。 前往叢集的 Azure 入口網站頁面,在 [網路] 底下可找到 [允許 Azure 服務和資源存取此叢集] 設定。 目前不支援來自 Azure Cosmos DB for PostgreSQL 的輸出連線。

orafce 延伸模組

utl_file 函式在 orafce 延伸模組中停用。

下一步