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 / 8.2 / 8.1 / 8.0 / 7.4

第五部分。 伺服器程式設計

本部分內容涉及使用使用者自定義函式、資料型別、觸發器等來擴充套件伺服器功能。這些是高階主題,應在理解了所有其他關於 PostgreSQL 的使用者文件之後才能進行。本部分的後續章節將介紹 PostgreSQL 發行版中可用的伺服器端程式語言以及與伺服器端程式設計相關的通用問題。在深入研究伺服器端程式設計的材料之前,至少閱讀 第 36 章 (關於函式) 的早期部分至關重要。

目錄

36. 擴充套件SQL
36.1. 可擴充套件性如何工作
36.2. PostgreSQL 型別系統
36.3. 使用者定義函式
36.4. 使用者定義過程
36.5. 查詢語言 (SQL) 函式
36.6. 函式過載
36.7. 函式易變性類別
36.8. 過程語言函式
36.9. 內部函式
36.10. C 語言函式
36.11. 函式最佳化資訊
36.12. 使用者定義聚合
36.13. 使用者定義型別
36.14. 使用者定義運算子
36.15. 運算子最佳化資訊
36.16. 將擴充套件介面到索引
36.17. 將相關物件打包到擴充套件中
36.18. 擴充套件構建基礎設施
37. 觸發器
37.1. 觸發器行為概述
37.2. 資料更改的可視性
37.3. 用 C 編寫觸發器函式
37.4. 完整的觸發器示例
38. 事件觸發器
38.1. 事件觸發器行為概述
38.2. 用 C 編寫事件觸發器函式
38.3. 完整的事件觸發器示例
38.4. 表重寫事件觸發器示例
38.5. 資料庫登入事件觸發器示例
39. 規則系統
39.1. 查詢樹
39.2. 檢視和規則系統
39.3. 物化檢視
39.4. 關於 INSERTUPDATEDELETE 的規則
39.5. 規則和許可權
39.6. 規則和命令狀態
39.7. 規則與觸發器的區別
40. 過程語言
40.1. 安裝過程語言
41. PL/pgSQLSQL過程語言
41.1. 概述
41.2. PL/pgSQL 結構
41.3. 宣告
41.4. 表示式
41.5. 基本語句
41.6. 控制結構
41.7. 遊標
41.8. 事務管理
41.9. 錯誤和訊息
41.10. 觸發器函式
41.11. PL/pgSQL 內部機制
41.12. PL/pgSQL 開發技巧
41.13. 從 Oracle PL/SQL 移植
42. PL/Tcl — Tcl 過程語言
42.1. 概述
42.2. PL/Tcl 函式和引數
42.3. PL/Tcl 中的資料值
42.4. PL/Tcl 中的全域性資料
42.5. PL/Tcl 中的資料庫訪問
42.6. PL/Tcl 中的觸發器函式
42.7. PL/Tcl 中的事件觸發器函式
42.8. PL/Tcl 中的錯誤處理
42.9. PL/Tcl 中的顯式子事務
42.10. 事務管理
42.11. PL/Tcl 配置
42.12. Tcl 過程名
43. PL/Perl — Perl 過程語言
43.1. PL/Perl 函式和引數
43.2. PL/Perl 中的資料值
43.3. 內建函式
43.4. PL/Perl 中的全域性值
43.5. 受信任和不受信任的 PL/Perl
43.6. PL/Perl 觸發器
43.7. PL/Perl 事件觸發器
43.8. PL/Perl 內部機制
44. PL/Python — Python 過程語言
44.1. PL/Python 函式
44.2. 資料值
44.3. 資料共享
44.4. 匿名程式碼塊
44.5. 觸發器函式
44.6. 資料庫訪問
44.7. 顯式子事務
44.8. 事務管理
44.9. 實用函式
44.10. Python 2 與 Python 3
44.11. 環境變數
45. 伺服器程式設計介面
45.1. 介面函式
45.2. 介面支援函式
45.3. 記憶體管理
45.4. 事務管理
45.5. 資料更改的可視性
45.6. 示例
46. 後臺工作程序
47. 邏輯解碼
47.1. 邏輯解碼示例
47.2. 邏輯解碼概念
47.3. 流複製協議介面
47.4. 邏輯解碼SQL介面
47.5. 與邏輯解碼相關的系統目錄
47.6. 邏輯解碼輸出外掛
47.7. 邏輯解碼輸出寫入器
47.8. 邏輯解碼的同步複製支援
47.9. 邏輯解碼的大事務流
47.10. 邏輯解碼的兩階段提交支援
48. 複製進度跟蹤
49. 歸檔模組
49.1. 初始化函式
49.2. 歸檔模組回撥
50. OAuth 驗證器模組
50.1. 安全地設計驗證器模組
50.2. 初始化函式
50.3. OAuth 驗證器回撥

提交更正

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