支援的版本:目前 (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 — 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.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. 堆積 (Heap) 函數
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.25. pg_buffercache — 檢視 PostgreSQL 緩衝區快取狀態
F.25.1. pg_buffercache 檢視表
F.25.2. pg_buffercache_summary() 函數
F.25.3. pg_buffercache_usage_counts() 函數
F.25.4. pg_buffercache_evict 函數
F.25.5. 範例輸出
F.25.6. 作者
F.26. pgcrypto — 加密函數
F.26.1. 一般雜湊函數
F.26.2. 密碼雜湊函數
F.26.3. PGP 加密函數
F.26.4. 原始加密函數
F.26.5. 隨機資料函數
F.26.6. 備註
F.26.7. 作者
F.27. pg_freespacemap — 檢查可用空間地圖
F.27.1. 函數
F.27.2. 範例輸出
F.27.3. 作者
F.28. pg_prewarm — 預先將關聯資料載入緩衝區快取
F.28.1. 函數
F.28.2. 組態參數
F.28.3. 作者
F.29. pgrowlocks — 顯示表格的資料列鎖定資訊
F.29.1. 總覽
F.29.2. 範例輸出
F.29.3. 作者
F.30. pg_stat_statements — 追蹤 SQL 計畫和執行的統計資訊
F.30.1. pg_stat_statements 檢視表
F.30.2. pg_stat_statements_info 檢視表
F.30.3. 函數
F.30.4. 組態參數
F.30.5. 範例輸出
F.30.6. 作者
F.31. pgstattuple — 取得 Tuple 層級的統計資訊
F.31.1. 函數
F.31.2. 作者
F.32. pg_surgery — 對關聯資料執行低階手術
F.32.1. 函數
F.32.2. 作者
F.33. pg_trgm — 支援使用 trigram 匹配的文字相似性
F.33.1. Trigram (或 Trigraph) 概念
F.33.2. 函數和運算子
F.33.3. GUC 參數
F.33.4. 索引支援
F.33.5. 文字搜尋整合
F.33.6. 參考
F.33.7. 作者
F.34. pg_visibility — 可見性地圖資訊和工具
F.34.1. 函數
F.34.2. 作者
F.35. pg_walinspect — 低階 WAL 檢查
F.35.1. 一般函數
F.35.2. 作者
F.36. postgres_fdw — 存取儲存在外部 PostgreSQL 伺服器中的資料
F.36.1. postgres_fdw 的 FDW 選項
F.36.2. 函數
F.36.3. 連線管理
F.36.4. 交易管理
F.36.5. 遠端查詢最佳化
F.36.6. 遠端查詢執行環境
F.36.7. 跨版本相容性
F.36.8. 等待事件
F.36.9. 組態參數
F.36.10. 範例
F.36.11. 作者
F.37. seg — 用於線段或浮點數間隔的資料類型
F.37.1. 緣由
F.37.2. 語法
F.37.3. 精度
F.37.4. 用法
F.37.5. 備註
F.37.6. 鳴謝
F.38. sepgsql — 基於 SELinux、標籤的強制存取控制 (MAC) 安全模組
F.38.1. 總覽
F.38.2. 安裝
F.38.3. 回歸測試
F.38.4. GUC 參數
F.38.5. 功能
F.38.6. Sepgsql 函數
F.38.7. 限制
F.38.8. 外部資源
F.38.9. 作者
F.39. spi — 伺服器程式設計介面功能/範例
F.39.1. refint — 用於實作參考完整性的函數
F.39.2. autoinc — 用於自動遞增欄位的函數
F.39.3. insert_username — 用於追蹤誰變更表格的函數
F.39.4. moddatetime — 用於追蹤上次修改時間的函數
F.40. sslinfo — 取得用戶端 SSL 資訊
F.40.1. 提供的函數
F.40.2. 作者
F.41. tablefunc — 傳回表格的函數 (crosstab 及其他)
F.41.1. 提供的函數
F.41.2. 作者
F.42. tcn — 一個觸發函數,用於通知監聽者表格內容的變更
F.43. test_decoding — 基於 SQL 的測試/範例模組,用於 WAL 邏輯解碼
F.44. tsm_system_rows — 用於 TABLESAMPLESYSTEM_ROWS 取樣方法
F.44.1. 範例
F.45. tsm_system_time — 用於 TABLESAMPLESYSTEM_TIME 取樣方法
F.45.1. 範例
F.46. unaccent — 一個文字搜尋字典,用於移除變音符號
F.46.1. 組態
F.46.2. 用法
F.46.3. 函數
F.47. uuid-ossp — 一個 UUID 產生器
F.47.1. uuid-ossp 函數
F.47.2. 建置 uuid-ossp
F.47.3. 作者
F.48. xml2 — XPath 查詢和 XSLT 功能
F.48.1. 棄用通知
F.48.2. 函數說明
F.48.3. xpath_table
F.48.4. XSLT 函數
F.48.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

許多擴充套件允許您將其物件安裝在您選擇的綱要中。要做到這一點,請將 SCHEMA schema_name 新增到 CREATE EXTENSION 指令中。 預設情況下,物件將會放置在您目前的建立目標綱要中,而預設情況下,建立目標綱要為 public

但是請注意,這些元件中的一些並不是此意義上的 擴充套件,而是以其他方式載入到伺服器中,例如透過 shared_preload_libraries。有關詳細資訊,請參閱每個元件的文件。

提交更正

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