V. 服务器端编程
这部分是关于用户怎样通过增加用户定义的类型、操作符、聚集、查询语言和编程语言函数来扩展服务器功能。
这些是高级主题,可能需要在阅读完并理解所有其它PostgreSQL手册之后才能阅读。
这部分后面的章节还描述了在PostgreSQL里的服务器端编程语言。
我们至少要读过Chapter 35的头几节才能深入阅读有关服务器端编程语言的材料。
- Table of Contents
- 35. 扩展SQL
- 35.1. 扩展性是如何实现的
- 35.2.
PostgreSQL类型系统
- 35.3. User-Defined Functions
- 35.4. Query Language (SQL) Functions
- 35.5. Function Overloading
- 35.6. Function Volatility Categories
- 35.7. Procedural Language Functions
- 35.8. Internal Functions
- 35.9. C-Language Functions
- 35.10. User-Defined Aggregates
- 35.11. 用户自定义类型
- 35.12. User-Defined Operators
- 35.13. Operator Optimization Information
- 35.14. Interfacing Extensions To Indexes
- 35.15. 用C++扩展
- 36. 触发器
- 36.1. 触发器行为概述
- 36.2. Visibility of Data Changes数据改变的可视性
- 36.3. 用 C 写触发器
- 36.4. 一个完整的例子
- 37. 规则系统
- 37.1. 查询树
- 37.2. 视图和规则系统
- 37.3. 在INSERT,UPDATE和DELETE上的规则
- 37.4. 规则和权限
- 37.5. 规则和命令状态
- 37.6. 规则与触发器得比较
- 38. Procedural Languages
- 38.1. Installing Procedural Languages
- 39.
PL/pgSQL - SQL过程语言
- 39.1. 概述
- 39.2.
PL/pgSQL的结构
- 39.3. 声明
- 39.4. 表达式
- 39.5. 基本语句
- 39.6. 控制结构
- 39.7. 游标
- 39.8. 错误和消息
- 39.9. 触发器过程
- 39.10.
PL/pgSQL Under the Hood
- 39.11. 开发PL/pgSQL的一些提示
- 39.12. 从OraclePL/SQL 进行移植
- 40. PL/Tcl - Tcl Procedural Language
- 40.1. Overview
- 40.2. PL/Tcl Functions and Arguments
- 40.3. Data Values in PL/Tcl
- 40.4. Global Data in PL/Tcl
- 40.5. Database Access from PL/Tcl
- 40.6. Trigger Procedures in PL/Tcl
- 40.7. Modules and the
unknown
command
- 40.8. Tcl Procedure Names
- 41. PL/Perl - Perl Procedural Language
- 41.1. PL/Perl Functions and Arguments
- 41.2. Data Values in PL/Perl
- 41.3. Built-in Functions
- 41.4. Global Values in PL/Perl
- 41.5. Trusted and Untrusted PL/Perl
- 41.6. PL/Perl Triggers
- 41.7. PL/Perl Under the Hood
- 42. PL/Python - Python Procedural Language
- 42.1. Python 2 vs. Python 3
- 42.2. PL/Python Functions
- 42.3. Data Values
- 42.4. Sharing Data
- 42.5. Anonymous Code Blocks
- 42.6. Trigger Functions
- 42.7. Database Access
- 42.8. Utility Functions
- 42.9. Environment Variables
- 43. Server Programming Interface
- 43.1. Interface Functions
- 43.2. Interface Support Functions
- 43.3. Memory Management
- 43.4. Visibility of Data Changes
- 43.5. Examples