V. 服务器端编程

这部分是关于用户怎样通过增加用户定义的类型、操作符、聚合、查询语言和编程语言函数来扩展服务器功能。 这些是高级主题,可能需要在阅读完并理解所有其它 PostgreSQL 手册之后才能阅读。这部分后面的章节还描述了在PostgreSQL 里的服务器端编程语言。我们至少要读过第 35 章的头几节才能深入阅读有关服务器端编程语言的材料。

目录
35. 扩展SQL
35.1. 扩展性是如何实现的
35.2. PostgreSQL类型系统
35.3. 用户定义的函数
35.4. 查询语言(SQL)函数
35.5. 函数重载
35.6. 函数易失性范畴
35.7. 过程语言函数
35.8. 内部函数
35.9. C-语言函数
35.10. 用户定义聚合
35.11. 用户定义类型
35.12. 用户定义操作符
35.13. 操作符优化信息
35.14. 扩展索引接口
35.15. 包装相关对象到一个扩展
35.16. 扩展基础设施建设
36. 触发器
36.1. 触发器行为概述
36.2. 数据改变的可视性
36.3. 用C写触发器
36.4. 一个完整的触发器例子
37. 事件触发器
37.1. 事件触发器行为的概述
37.2. 事件触发器触发矩阵
37.3. 用C编写事件触发器函数
37.4. 一个完整的事件触发器的例子
38. 规则系统
38.1. 查询树
38.2. 视图和规则系统
38.3. 物化视图
38.4. INSERT, UPDATE, 和 DELETE上的规则
38.5. 规则和权限
38.6. 规则和命令状态
38.7. 规则与触发器的比较
39. 过程语言
39.1. 安装过程语言
40. PL/pgSQL - SQL过程语言
40.1. 概述
40.2. PL/pgSQL的结构
40.3. 声明
40.4. 表达式
40.5. 基本语句
40.6. 控制结构
40.7. 游标
40.8. 错误和消息
40.9. 触发器过程
40.10. 在后台下的PL/pgSQL
40.11. 开发PL/pgSQL的一些提示
40.12. Oracle PL/SQL进行移植
41. PL/Tcl - Tcl 过程语言
41.1. 概述
41.2. PL/Tcl 函数和参数
41.3. PL/Tcl里的数据值
41.4. PL/Tcl里的全局量
41.5. 在PL/Tcl里访问数据库
41.6. PL/Tcl里的触发器过程
41.7. 模块和unknown的命令
41.8. Tcl 过程名字
42. PL/Perl - Perl 过程语言
42.1. PL/Perl 函数和参数
42.2. PL/Perl里的数据值
42.3. 内置函数
42.4. PL/Perl里的全局变量
42.5. 可信的和不可信的 PL/Perl
42.6. PL/Perl 触发器
42.7. 后台PL/Perl
43. PL/Python - Python 过程语言
43.1. Python 2 vs. Python 3
43.2. PL/Python 函数
43.3. 数据值
43.4. 共享数据
43.5. 匿名代码块
43.6. 触发器函数
43.7. 数据库访问
43.8. 明确的子事务
43.9. 实用函数
43.10. 环境变量
44. 服务器编程接口
44.1. 接口函数
44.2. 接口支持函数
44.3. 内存管理
44.4. 数据改变的可视性
44.5. 例子
45. 后台工作进程