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. INSERTUPDATE,和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. 例子