V. 服务器端编程

这部分是关于用户怎样通过增加用户定义的类型,操作符,聚集, 以及查询语言和编程语言函数来扩展服务器功能。 这些是高级得主题,可能需要在阅读完并理解所有其它 PostgreSQL 的用户文档之后才能进行。这部分还描述了在 PostgreSQL 里可以用的服务器端编程语言,以及服务器端编程语言需要注意的一般问题。 这些信息只是对那些至少阅读了这部分头几张的用户有用。

Table of Contents
33. 扩展 SQL
33.1. 扩展性是如何实现的
33.2. PostgreSQL 类型系统
33.3. 用户定义函数
33.4. 查询语言(SQL)函数
33.5. 过程语言函数
33.6. 内部函数
33.7. C 语言函数
33.8. 函数重载
33.9. 用户定义聚集
33.10. 用户定义类型
33.11. 用户定义操作符
33.12. 操作符优化信息
33.13. 扩展索引接口
34. 规则系统
34.1. 查询树
34.2. 视图和规则系统
34.3. 在 INSERT,UPDATE,和DELETE 上的规则
34.4. 规则和权限
34.5. 规则和命令状态
34.6. 规则与触发器之比较
35. 触发器
35.1. 触发器行为概述
35.2. 数据改变的可视性
35.3. 用 C 写触发器
35.4. 一个完整的例子
36. 过程语言
36.1. 安装过程语言
37. PL/pgSQL - SQL 过程语言
37.1. 概述
37.2. 开发 PL/pgSQL 的一些提示
37.3. PL/pgSQL的结构
37.4. 声明
37.5. 表达式
37.6. 基本语句
37.7. 控制结构
37.8. 游标
37.9. 错误和消息
37.10. 触发器过程
37.11. 从Oracle的 PL/SQL 移植
38. PL/Tcl - Tcl 过程语言
38.1. 概述
38.2. PL/Tcl 函数和参数
38.3. PL/Tcl 里的数据值
38.4. PL/Tcl 里的全局量
38.5. 在 PL/Tcl 里面访问数据库
38.6. PL/Tcl 里的触发器过程
38.7. 模块和unknown(未知)的命令
38.8. Tcl 过程名字
39. PL/Perl - Perl 过程语言
39.1. PL/Perl 函数和参数
39.2. PL/Perl 里的数据值
39.3. 从 PL/Perl 里访问数据库
39.4. 可信的和不可信的 PL/Perl
39.5. 缺少的特性
40. PL/Python - 过程语言
40.1. PL/Python 函数
40.2. 触发器函数
40.3. 数据库访问
41. 服务器编程接口
41.1. 接口函数
41.2. 接口支持函数
41.3. 存储器管理
41.4. 数据改变的可视性
41.5. 例子