V. 服务器端编程

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

Table of Contents

  • 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 Functions
    • 43.3. Data Values
    • 43.4. Sharing Data
    • 43.5. Anonymous Code Blocks
    • 43.6. Trigger Functions
    • 43.7. Database Access
    • 43.8. Explicit Subtransactions
    • 43.9. Utility Functions
    • 43.10. Environment Variables
  • 44. 服务器编程接口
    • 44.1. 接口函数
    • 44.2. 接口支持函数
    • 44.3. 内存管理
    • 44.4. 数据改变的可视性
    • 44.5. 例子
  • 45. 后台工作进程