本節說明如何設定資料庫服務支援的資料庫擴充功能。
安裝擴充功能
擴充功能只能安裝在主要 DBCluster 上。安裝完成後,擴充功能會複製到待命執行個體。
只要連線至資料庫叢集並執行 CREATE EXTENSION 指令,即可直接安裝大部分擴充功能。
不過,有幾項擴充功能需要額外設定,因此使用者必須設定資料庫旗標,"dbs.enable_<extension-name>": "on" 然後連線至資料庫叢集並執行 CREATE EXTENSION 指令。
只有 alloydbsuperuser 角色的資料庫使用者才能執行 CREATE EXTENSION 指令。這項設定預設會包含 dbsadmin 使用者。
捨棄擴充功能
如要捨棄擴充功能,嘗試這麼做的資料庫使用者必須是擴充功能的擁有者。這表示只有最初建立擴充功能的資料庫使用者,才有權捨棄擴充功能。其他資料庫使用者無法捨棄擴充功能,確保擴充功能受到控管。
支援的資料庫擴充功能
下表列出所有支援的擴充功能。
| 擴充功能 | 說明 |
|---|---|
| alloydb_ai_nl | Google Extension for AlloyDB AI & Natural Language |
| amcheck | 提供驗證關係結構邏輯一致性的函式,讓 pg_amcheck 應用程式檢查是否有損毀情形。 |
| anon | 遮蓋或取代 PostgreSQL 資料庫中的個人識別資訊 (PII) 或私密資料。 |
| autonic | 提供自動遞增欄位的函式 |
| bloom | 提供根據 Bloom 篩選器存取索引的方法。布隆篩選器是一種空間效率高的資料結構,可用於測試元素是否為集合的成員。 |
| btree_gin | 提供實作 B 樹狀結構等效行為的範例 GIN 運算子類別。 |
| btree_gist | 提供實作 B 樹狀結構等效行為的 GiST 索引運算子類別。 |
| citext | 提供不區分大小寫的字元字串類型 citext。 |
| cube | 實作資料型別立方體,代表多維度立方體。 |
| dblink | 提供從資料庫工作階段連線至 PostgreSQL 資料庫的函式 |
| dict_int | 全文搜尋的附加字典範本,可控制整數的索引作業。 |
| dict_xsyn | 文字搜尋字典範本,用於擴充同義詞處理 |
| earthdistance | 提供兩種方法,計算地球表面的大圓距離。 |
| fuzzystrmatch | 提供多個函式來確定字串之間的相似與不同之處。 |
| google_columnar_engine | 提供 AlloyDB 的資料欄引擎功能,可非常有效率地處理 HTAP (混合型交易分析處理) 和 OLAP (線上分析處理) 工作負載。 |
| google_db_advisor | 提供 AlloyDB 的索引建議工具功能,可提供索引建議,加快查詢處理速度。 |
| google_ml_integration | 提供您用來存取 Vertex AI 端點的函式,以便在 SQL 中取得預測結果。 |
| postgresql-hll | 提供 HyperLogLog (hll) 資料結構,用於估計集合的基數。 |
| hstore | 實作 hstore 資料型別,在單一 PostgreSQL 值中儲存鍵/值組合集。 |
| hypopg | 支援假設索引。 |
| insert_username | 提供將目前使用者名稱儲存至文字欄位的函式。您可以使用這項函式,追蹤資料庫表格中最後修改資料列的使用者。 |
| intagg | 提供整數匯集器與列舉程式。 |
| intarray | 提供一系列函式和運算子,可操作不含空值的整數陣列,並對其執行索引搜尋。 |
| ip4r | 提供 IPv4/v6 位址和位址範圍的資料類型,並支援索引。 |
| isn | 提供部分國際產品編號標準的資料類型。 |
| lo | 支援管理大型物件 (也稱為 LO 或 BLOB)。 |
| ltree | 實作 ltree 資料型別,用於表示儲存在階層式樹狀結構中的資料標籤。 |
| moddatetime | 提供將目前時間儲存到 timestamp 欄位的函式。您可以使用這項功能,追蹤資料庫表格中資料列的上次修改時間。 |
| pageinspect | 以低層級檢查資料庫頁面的內容。 |
| pg_bigm | 啟用全文搜尋功能,並允許使用雙連字元 (雙字母) 索引,加快全文搜尋速度。 |
| pg_buffercache | 可讓您即時檢查共用緩衝區快取中發生的改變。 |
| pg_cron | 提供以 Cron 為基礎的工作排程器。這項擴充功能可直接從資料庫排定 PostgreSQL 指令的執行時間 (使用 cron 語法)。 |
| pg_freespacemap | 檢查可用空間地圖 (FSM)。 |
| pg_hint_plan | 您可以使用提示 (SQL 註解中的說明) 改善 PostgreSQL 執行計畫。 |
| pg_partman | 可建立及管理以時間和序號為準的資料表分區集。 |
| pg_prewarm | 提供便利的方式,將關聯資料載入作業系統緩衝區快取或 PostgreSQL 緩衝區快取。 |
| pg_proctab | 可讓您使用 pg_top,並從作業系統程序表產生報表。 |
| pg_repack | 可移除資料表和索引中的膨脹。可選擇執行線上 CLUSTER (依叢集索引排序資料表)。 |
| pg_similarity | 支援 PostgreSQL 的相似度查詢。 |
| pg_squeeze | 從資料表中移除未使用的空間,並視需要使用索引排序資料表中的記錄或資料列 (元組)。 |
| pg_stat_statements | 可讓您追蹤執行的所有 SQL 陳述式的執行統計資料。 |
| pg_trgm | 提供函式和運算子,根據三元組比對判斷英數字元文字的相似度,以及支援快速搜尋相似字串的索引運算子類別。 |
| pg_visibility | 提供檢查資料表可見度地圖 (VM) 和網頁層級可見度資訊的方法。 |
| pg_wait_sampling | 收集等待事件的取樣統計資料,提供伺服器上程序的等待事件資料。 |
| pgaudit | 使用 PostgreSQL 提供的標準記錄功能,提供詳細的工作階段和物件稽核記錄。 |
| pgcrypto | 為 PostgreSQL 提供加密函式。 |
| pgfincore | 這組函式可從 PostgreSQL 管理作業系統磁碟快取記憶體中的頁面。 |
| pglogical | 提供 PostgreSQL 的邏輯複製功能。 |
| pgrowlocks | 提供指定表格的列鎖定資訊。 |
| pgstattuple | 提供各種函式來取得組合層級統計資料。 |
| pgtap | 提供以 PL/pgSQL 和 PL/SQL 編寫的 PostgreSQL 單元測試架構。 |
| pgtt | 為資料庫新增全域臨時資料表支援。 |
| plpgsql | 可載入的程序語言,用於建立函式、程序和觸發程序。您也可以使用這種語言,直接在 DO 區塊中執行程式碼。 |
| plproxy | 程序語言處理常式,可讓 PostgreSQL 資料庫之間進行遠端程序呼叫,並可選擇分片。 |
| plv8 | 提供程序語言,用於啟用 JavaScript。 |
| postgres_ann | PostgreSQL ANN 搜尋 |
| postgres_fdw | 允許在執行個體內或跨執行個體建立外部資料包裝函式。 |
| 前置字串 | 提供前置字串比對,以及索引支援。 |
| refint | 包括檢查外鍵限制、參照資料表和參照資料表的函式。 |
| sslinfo | 提供目前用戶端連線至執行個體時提供的 SSL 憑證相關資訊。 |
| tablefunc | 包含傳回表格 (多列) 的各種函式。 |
| tcn | 提供觸發函式,可將資料庫表格內容的變更通知給監聽器。 |
| temporal_tables | 支援時間表。時間表會記錄資料列從資料庫角度來看有效的時間範圍。 |
| tsm_system_rows | 提供資料表取樣方法 SYSTEM_ROWS,可用於 SELECT 指令的 TABLESAMPLE 子句。 |
| tsm_system_time | 提供資料表取樣方法 SYSTEM_TIME,可用於 SELECT 指令的 TABLESAMPLE 子句。 |
| unaccent | 文字搜尋字典,可從詞素中移除重音符號 (變音符號)。 |
| uuid-ossp | 提供函式,藉此使用多個標準演算法中的其中一個來產生通用唯一識別碼 (UUID)。 |
| pgvector | 開放原始碼擴充功能,可在 PostgreSQL 資料庫中儲存及搜尋向量嵌入。 |