Skip to content

第 V 部分。服务器编程

本部分介绍如何通过用户自定义函数、数据类型、触发器等扩展服务器功能。这些是高级主题,在理解所有其他有关PostgreSQL的用户文档后才应着手研究。本部分的后续章节描述了PostgreSQL发行版中可用的服务器端编程语言以及与服务器端编程语言相关的常规问题。在深入了解有关服务器端编程语言的材料之前,务必至少阅读第 38 章(涵盖函数)的早期部分。

目录

38. 扩展
38.1. 可扩展性工作原理
38.2. PostgreSQL 类型系统
38.3. 用户自定义函数
38.4. 用户自定义过程
38.5. 查询语言 () 函数
38.6. 函数重载
38.7. 函数波动性类别
38.8. 过程语言函数
38.9. 内部函数
38.10. C 语言函数
38.11. 函数优化信息
38.12. 用户自定义聚合
38.13. 用户自定义类型
38.14. 用户自定义运算符
38.15. 运算符优化信息
38.16. 扩展与索引的接口
38.17. 将相关对象打包到扩展中
38.18. 扩展构建基础设施
39. 触发器
39.1. 触发器行为概述
39.2. 数据更改的可见性
39.3. 用 C 编写触发器函数
39.4. 完整的触发器示例
40. 事件触发器
40.1. 事件触发器行为概述
40.2. 事件触发器触发矩阵
40.3. 用 C 编写事件触发器函数
40.4. 完整的事件触发器示例
40.5. 表重写事件触发器示例
41. 规则系统
41.1. 查询树
41.2. 视图和规则系统
41.3. 物化视图
41.4. INSERTUPDATEDELETE 上的规则
41.5. 规则和权限
41.6. 规则和命令状态
41.7. 规则与触发器
42. 过程语言
42.1. 安装过程语言
43. PL/pgSQL 过程语言
43.1. 概述
43.2. PL/pgSQL 的结构
43.3. 声明
43.4. 表达式
43.5. 基本语句
43.6. 控制结构
43.7. 游标
43.8. 事务管理
43.9. 错误和消息
43.10. 触发器函数
43.11. PL/pgSQL 的底层原理
43.12. 在 PL/pgSQL 中进行开发的提示
43.13. 从 Oracle PL/SQL 移植
44. PL/Tcl — Tcl 过程语言
44.1. 概述
44.2. PL/Tcl 函数和参数
44.3. PL/Tcl 中的数据值
44.4. PL/Tcl 中的全局数据
44.5. 从 PL/Tcl 访问数据库
44.6. PL/Tcl 中的触发器函数
44.7. PL/Tcl 中的事件触发器函数
44.8. PL/Tcl 中的错误处理
44.9. PL/Tcl 中的显式子事务
44.10. 事务管理
44.11. PL/Tcl 配置
44.12. Tcl 过程名称
45. PL/Perl — Perl 过程语言
45.1. PL/Perl 函数和参数
45.2. PL/Perl 中的数据值
45.3. 内置函数
45.4. PL/Perl 中的全局值
45.5. 受信和不受信的 PL/Perl
45.6. PL/Perl 触发器
45.7. PL/Perl 事件触发器
45.8. PL/Perl 的底层原理
46. PL/Python — Python 过程语言
46.1. PL/Python 函数
46.2. 数据值
46.3. 共享数据
46.4. 匿名代码块
46.5. 触发器函数
46.6. 数据库访问
46.7. 显式子事务
46.8. 事务管理
46.9. 实用程序函数
46.10. Python 2 与 Python 3
46.11. 环境变量
47. 服务器编程接口
47.1. 接口函数
47.2. 接口支持函数
47.3. 内存管理
47.4. 事务管理
47.5. 数据更改的可见性
47.6. 示例
48. 后台工作进程
49. 逻辑解码
49.1. 逻辑解码示例
49.2. 逻辑解码概念
49.3. 流复制协议接口
49.4. 逻辑解码 接口
49.5. 与逻辑解码相关的系统目录
49.6. 逻辑解码输出插件
49.7. 逻辑解码输出写入器
49.8. 逻辑解码的同步复制支持
49.9. 为逻辑解码流式传输大型事务
49.10. 逻辑解码的两阶段提交支持
50. 复制进度跟踪
51. 存档模块
51.1. 初始化函数
51.2. 存档模块回调