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

附錄 F. 附加提供的模組和擴充套件

目錄

F.1. amcheck — 檢查表和索引一致性的工具
F.1.1. 函式
F.1.2. 可選 heapallindexed 驗證
F.1.3. 有效使用 amcheck
F.1.4. 修復損壞
F.2. auth_delay — 認證失敗時暫停
F.2.1. 配置引數
F.2.2. 作者
F.3. auto_explain — 記錄慢查詢的執行計劃
F.3.1. 配置引數
F.3.2. 示例
F.3.3. 作者
F.4. basebackup_to_shell — 示例 "shell" pg_basebackup 模組
F.4.1. 配置引數
F.4.2. 作者
F.5. basic_archive — 示例 WAL 歸檔模組
F.5.1. 配置引數
F.5.2. 注意
F.5.3. 作者
F.6. bloom — 布隆過濾器索引訪問方法
F.6.1. 引數
F.6.2. 示例
F.6.3. 運算子類介面
F.6.4. 限制
F.6.5. 作者
F.7. btree_gin — 具有 B-tree 行為的 GIN 運算子類
F.7.1. 示例用法
F.7.2. 作者
F.8. btree_gist — 具有 B-tree 行為的 GiST 運算子類
F.8.1. 示例用法
F.8.2. 作者
F.9. citext — 忽略大小寫的字串型別
F.9.1. 基本原理
F.9.2. 如何使用
F.9.3. 字串比較行為
F.9.4. 限制
F.9.5. 作者
F.10. cube — 多維立方體資料型別
F.10.1. 語法
F.10.2. 精度
F.10.3. 用法
F.10.4. 預設值
F.10.5. 注意
F.10.6. 致謝
F.11. dblink — 連線到其他 PostgreSQL 資料庫
dblink_connect — 開啟到遠端資料庫的持久連線
dblink_connect_u — 不安全地開啟到遠端資料庫的持久連線
dblink_disconnect — 關閉到遠端資料庫的持久連線
dblink — 在遠端資料庫中執行查詢
dblink_exec — 在遠端資料庫中執行命令
dblink_open — 在遠端資料庫中開啟遊標
dblink_fetch — 從遠端資料庫的開啟遊標中返回行
dblink_close — 關閉遠端資料庫的遊標
dblink_get_connections — 返回所有已開啟的命名 dblink 連線的名稱
dblink_error_message — 獲取命名連線上的最後一條錯誤訊息
dblink_send_query — 向遠端資料庫傳送非同步查詢
dblink_is_busy — 檢查連線是否正忙於非同步查詢
dblink_get_notify — 在連線上檢索非同步通知
dblink_get_result — 獲取非同步查詢結果
dblink_cancel_query — 取消命名連線上任何活動的查詢
dblink_get_pkey — 返回關係主鍵欄位的位置和欄位名
dblink_build_sql_insert — 使用本地元組構建 INSERT 語句,用提供的替代值替換主鍵欄位值
dblink_build_sql_delete — 使用提供的值構建 DELETE 語句,用於主鍵欄位值
dblink_build_sql_update — 使用本地元組構建 UPDATE 語句,用提供的替代值替換主鍵欄位值
F.12. dict_int — 整數的全文字搜尋字典示例
F.12.1. 配置
F.12.2. 用法
F.13. dict_xsyn — 同義詞全文字搜尋字典示例
F.13.1. 配置
F.13.2. 用法
F.14. earthdistance — 計算大圓距離
F.14.1. 基於立方體的地球距離
F.14.2. 基於點的地球距離
F.15. file_fdw — 訪問伺服器檔案系統中的資料檔案
F.16. fuzzystrmatch — 確定字串相似度和距離
F.16.1. Soundex
F.16.2. Daitch-Mokotoff Soundex
F.16.3. Levenshtein
F.16.4. Metaphone
F.16.5. Double Metaphone
F.17. hstore — hstore 鍵/值資料型別
F.17.1. hstore 外部表示
F.17.2. hstore 運算子和函式
F.17.3. 索引
F.17.4. 示例
F.17.5. 統計資訊
F.17.6. 相容性
F.17.7. 轉換
F.17.8. 作者
F.18. intagg — 整數聚合器和列舉器
F.18.1. 函式
F.18.2. 示例用途
F.19. intarray — 操作整數陣列
F.19.1. intarray 函式和運算子
F.19.2. 索引支援
F.19.3. 示例
F.19.4. 基準測試
F.19.5. 作者
F.20. isn — 國際標準數字(ISBN、EAN、UPC 等)的資料型別
F.20.1. 資料型別
F.20.2. 轉換
F.20.3. 函式和運算子
F.20.4. 配置引數
F.20.5. 示例
F.20.6. 參考資料
F.20.7. 作者
F.21. lo — 管理大物件
F.21.1. 基本原理
F.21.2. 如何使用
F.21.3. 限制
F.21.4. 作者
F.22. ltree — 分層樹狀資料型別
F.22.1. 定義
F.22.2. 運算子和函式
F.22.3. 索引
F.22.4. 示例
F.22.5. 轉換
F.22.6. 作者
F.23. pageinspect — 資料庫頁面的低階檢查
F.23.1. 通用函式
F.23.2. 堆函式
F.23.3. B-tree 函式
F.23.4. BRIN 函式
F.23.5. GIN 函式
F.23.6. GiST 函式
F.23.7. Hash 函式
F.24. passwordcheck — 檢查密碼強度
F.24.1. 配置引數
F.25. pg_buffercache — 檢查 PostgreSQL 緩衝區快取狀態
F.25.1. pg_buffercache 檢視
F.25.2. pg_buffercache_numa 檢視
F.25.3. pg_buffercache_summary() 函式
F.25.4. pg_buffercache_usage_counts() 函式
F.25.5. pg_buffercache_evict() 函式
F.25.6. pg_buffercache_evict_relation() 函式
F.25.7. pg_buffercache_evict_all() 函式
F.25.8. 示例輸出
F.25.9. 作者
F.26. pgcrypto — 加密函式
F.26.1. 通用雜湊函式
F.26.2. 密碼雜湊函式
F.26.3. PGP 加密函式
F.26.4. 原始加密函式
F.26.5. 隨機資料函式
F.26.6. OpenSSL 支援函式
F.26.7. 配置引數
F.26.8. 注意
F.26.9. 作者
F.27. pg_freespacemap — 檢查空閒空間圖
F.27.1. 函式
F.27.2. 示例輸出
F.27.3. 作者
F.28. pg_logicalinspect — 邏輯解碼元件檢查
F.28.1. 函式
F.28.2. 作者
F.29. pg_overexplain — 允許 EXPLAIN 轉儲更多細節
F.29.1. EXPLAIN (DEBUG)
F.29.2. EXPLAIN (RANGE_TABLE)
F.29.3. 作者
F.30. pg_prewarm — 將關係資料預載入到緩衝區快取中
F.30.1. 函式
F.30.2. 配置引數
F.30.3. 作者
F.31. pgrowlocks — 顯示錶的行鎖定資訊
F.31.1. 概述
F.31.2. 示例輸出
F.31.3. 作者
F.32. pg_stat_statements — 跟蹤 SQL 規劃和執行的統計資訊
F.32.1. pg_stat_statements 檢視
F.32.2. pg_stat_statements_info 檢視
F.32.3. 函式
F.32.4. 配置引數
F.32.5. 示例輸出
F.32.6. 作者
F.33. pgstattuple — 獲取元組級統計資訊
F.33.1. 函式
F.33.2. 作者
F.34. pg_surgery — 對關係資料執行低階手術
F.34.1. 函式
F.34.2. 作者
F.35. pg_trgm — 支援使用三元組匹配確定文字相似度
F.35.1. 三元組(或三字母)概念
F.35.2. 函式和運算子
F.35.3. GUC 引數
F.35.4. 索引支援
F.35.5. 文字搜尋整合
F.35.6. 參考資料
F.35.7. 作者
F.36. pg_visibility — 可見性圖資訊和工具
F.36.1. 函式
F.36.2. 作者
F.37. pg_walinspect — 低階 WAL 檢查
F.37.1. 通用函式
F.37.2. 作者
F.38. postgres_fdw — 訪問儲存在外部 PostgreSQL 伺服器中的資料
F.38.1. postgres_fdw 的 FDW 選項
F.38.2. 函式
F.38.3. 連線管理
F.38.4. 事務管理
F.38.5. 遠端查詢最佳化
F.38.6. 遠端查詢執行環境
F.38.7. 跨版本相容性
F.38.8. 等待事件
F.38.9. 配置引數
F.38.10. 示例
F.38.11. 作者
F.39. seg — 線段或浮點區間的資料型別
F.39.1. 基本原理
F.39.2. 語法
F.39.3. 精度
F.39.4. 用法
F.39.5. 注意
F.39.6. 致謝
F.40. sepgsql — SELinux、基於標籤的強制訪問控制 (MAC) 安全模組
F.40.1. 概述
F.40.2. 安裝
F.40.3. 迴歸測試
F.40.4. GUC 引數
F.40.5. 特性
F.40.6. Sepgsql 函式
F.40.7. 限制
F.40.8. 外部資源
F.40.9. 作者
F.41. spi — 伺服器程式設計介面功能/示例
F.41.1. refint — 實現參照完整性的函式
F.41.2. autoinc — 自增欄位的函式
F.41.3. insert_username — 跟蹤誰修改了表的函式
F.41.4. moddatetime — 跟蹤最後修改時間的函式
F.42. sslinfo — 獲取客戶端 SSL 資訊
F.42.1. 提供的函式
F.42.2. 作者
F.43. tablefunc — 返回表的函式(crosstab 等)
F.43.1. 提供的函式
F.43.2. 作者
F.44. tcn — 一個觸發器函式,用於通知監聽器表內容的變化
F.45. test_decoding — 用於 WAL 邏輯解碼的基於 SQL 的測試/示例模組
F.46. tsm_system_rows — TABLESAMPLESYSTEM_ROWS 取樣方法
F.46.1. 示例
F.47. tsm_system_time — TABLESAMPLESYSTEM_TIME 取樣方法
F.47.1. 示例
F.48. unaccent — 一個移除變音符號的文字搜尋字典
F.48.1. 配置
F.48.2. 用法
F.48.3. 函式
F.49. uuid-ossp — UUID 生成器
F.49.1. uuid-ossp 函式
F.49.2. 構建 uuid-ossp
F.49.3. 作者
F.50. xml2 — XPath 查詢和 XSLT 功能
F.50.1. 棄用通知
F.50.2. 函式描述
F.50.3. xpath_table
F.50.4. XSLT 函式
F.50.5. 作者

本附錄和下一附錄包含有關 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。有關詳細資訊,請參閱每個元件的文件。

提交更正

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