設定資料庫擴充功能

本節說明如何設定資料庫服務支援的資料庫擴充功能。

安裝擴充功能

擴充功能只能安裝在主要 DBCluster 上。安裝完成後,擴充功能會複製到待命執行個體。

只要連線至資料庫叢集並執行 CREATE EXTENSION 指令,即可直接安裝大部分擴充功能。

不過,有幾項擴充功能需要額外設定,因此使用者必須設定資料庫旗標"dbs.enable_<extension-name>": "on"然後連線至資料庫叢集並執行 CREATE EXTENSION 指令。

只有屬於 cloudsqlsuperuseralloydbsuperuser 角色的資料庫使用者,才能執行 CREATE EXTENSION 指令。這項設定預設會包含 dbsadmin 使用者。

捨棄擴充功能

如要捨棄擴充功能,嘗試這麼做的資料庫使用者必須是該擴充功能的擁有者。這表示只有最初建立擴充功能的資料庫使用者,才有權限捨棄擴充功能。其他資料庫使用者無法捨棄擴充功能,確保擴充功能受到控管。

支援的資料庫擴充功能

下表列出所有支援的擴充功能。

擴充功能 PostgreSQL 隨附 隨附於 AlloyDB Omni 說明
address_standardizer 用於將地址剖析為組成元素。通常用於支援地址正規化步驟的地理編碼。
address_standardizer_data_us 美國地址標準化工具資料集範例
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 欄位的函式。您可以使用這項功能,追蹤資料庫表格中資料列的上次修改時間。
orafce 提供函式和運算子,可模擬 Oracle 資料庫中的部分函式和套件。使用這些函式將 Oracle 應用程式移植到 PostgreSQL。
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 的邏輯複製功能。
pgrouting 擴充 PostGIS,透過網路路徑和分析執行地理空間處理作業。
pgrowlocks 提供指定表格的列鎖定資訊。
pgstattuple 提供各種函式來取得組合層級統計資料。
pgtap 提供以 PL/pgSQL 和 PL/SQL 編寫的 PostgreSQL 單元測試架構。
pgtt 為資料庫新增全域臨時資料表支援。
plpgsql 可載入的程序語言,用於建立函式、程序和觸發程序。您也可以使用這種語言,直接在 DO 區塊中執行程式碼。
plproxy 程序語言處理常式,可讓 PostgreSQL 資料庫之間進行遠端程序呼叫,並視需要進行分片。
plv8 提供程序語言,用於啟用 JavaScript。
postgis PostGIS 幾何和地理空間類型與函式
postgres_ann PostgreSQL ANN 搜尋
postgis_raster PostGIS 柵格類型和函式
postgis_sfcgal PostGIS SFCGAL 函式
postgis_tiger_geocoder PostGIS tiger 地理編碼器和反向地理編碼器
postgis_topology PostGIS 拓撲空間類型和函式
postgres_fdw 允許在執行個體內或跨執行個體建立外部資料包裝函式。
prefix 提供前置字串比對,以及索引支援。
rdkit 提供比較、操控及識別分子結構的函式。
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 資料庫中儲存及搜尋向量嵌入。