V. 服务器端编程

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

Table of Contents
31. 扩展 SQL
31.1. 扩展性是如何实现的
31.2. PostgreSQL 类型系统
31.3. 用户定义函数
31.4. 查询语言(SQL)函数
31.5. 函数重载
31.6. 函数易失性范畴
31.7. 过程语言函数
31.8. 内部函数
31.9. C 语言函数
31.10. 用户定义聚集
31.11. 用户定义类型
31.12. 用户定义操作符
31.13. 操作符优化信息
31.14. 扩展索引接口
32. 触发器
32.1. 触发器行为概述
32.2. 数据改变的可视性
32.3. 用 C 写触发器
32.4. 一个完整的例子
33. 规则系统
33.1. 查询树
33.2. 视图和规则系统
33.3. INSERTUPDATE,和DELETE 上的规则
33.4. 规则和权限
33.5. 规则和命令状态
33.6. 规则与触发器之比较
34. 过程语言
34.1. 安装过程语言
35. PL/pgSQL - SQL 过程语言
35.1. 概述
35.2. 开发 PL/pgSQL 的一些提示
35.3. PL/pgSQL的结构
35.4. 声明
35.5. 表达式
35.6. 基本语句
35.7. 控制结构
35.8. 游标
35.9. 错误和消息
35.10. 触发器过程
35.11. Oracle的 PL/SQL 移植
36. PL/Tcl - Tcl 过程语言
36.1. 概述
36.2. PL/Tcl 函数和参数
36.3. PL/Tcl 里的数据值
36.4. PL/Tcl 里的全局量
36.5. 在 PL/Tcl 里面访问数据库
36.6. PL/Tcl 里的触发器过程
36.7. 模块和unknown(未知)的命令
36.8. Tcl 过程名字
37. PL/Perl - Perl 过程语言
37.1. PL/Perl 函数和参数
37.2. 从 PL/Perl 里访问数据库
37.3. PL/Perl 里的数据值
37.4. PL/Perl 里的全局变量
37.5. 可信的和不可信的 PL/Perl
37.6. PL/Perl 触发器
37.7. 限制及缺少的特性
38. PL/Python - 过程语言
38.1. PL/Python 函数
38.2. 触发器函数
38.3. 数据库访问
39. 服务器编程接口
39.1. 接口函数
39.2. 接口支持函数
39.3. 存储器管理
39.4. 数据改变的可视性
39.5. 例子