支援的版本:目前 (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. 事件觸發器觸發矩陣
38.3. 使用 C 語言編寫事件觸發器函數
38.4. 完整的事件觸發器範例
38.5. 資料表重寫事件觸發器範例
38.6. 資料庫登入事件觸發器範例
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. 事務管理 (Transaction Management)
45.5. 資料變更的可見性 (Visibility of Data Changes)
45.6. 範例 (Examples)
46. 背景工作處理程序 (Background Worker Processes)
47. 邏輯解碼 (Logical Decoding)
47.1. 邏輯解碼範例 (Logical Decoding Examples)
47.2. 邏輯解碼概念 (Logical Decoding Concepts)
47.3. 串流複製協定介面 (Streaming Replication Protocol Interface)
47.4. 邏輯解碼 (Logical Decoding)SQL介面 (Interface)
47.5. 與邏輯解碼相關的系統目錄 (System Catalogs Related to Logical Decoding)
47.6. 邏輯解碼輸出外掛程式 (Logical Decoding Output Plugins)
47.7. 邏輯解碼輸出寫入器 (Logical Decoding Output Writers)
47.8. 對於邏輯解碼的同步複製支援 (Synchronous Replication Support for Logical Decoding)
47.9. 用於邏輯解碼的大型事務串流 (Streaming of Large Transactions for Logical Decoding)
47.10. 對於邏輯解碼的兩階段提交支援 (Two-phase Commit Support for Logical Decoding)
48. 複製進度追蹤 (Replication Progress Tracking)
49. 封存模組 (Archive Modules)
49.1. 初始化函式 (Initialization Functions)
49.2. 封存模組回呼 (Archive Module Callbacks)

提交更正 (Submit correction)

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