章 35. 扩展SQL

目录
35.1. 扩展性是如何实现的
35.2. PostgreSQL类型系统
35.2.1. 基本类型
35.2.2. 复合类型
35.2.3.
35.2.4. 伪-类型
35.2.5. 多态类型
35.3. 用户定义的函数
35.4. 查询语言(SQL)函数
35.4.1. Arguments for SQL Functions
35.4.2. 基本类型上的SQL函数
35.4.3. 复合类型上的SQL函数
35.4.4. 带输出参数的SQL函数
35.4.5. 带有参数可变数量的SQL
35.4.6. 具有参数缺省值的SQL函数
35.4.7. 作为表数据源的SQL函数
35.4.8. 返回集合的SQL函数
35.4.9. 返回TABLESQL函数
35.4.10. 多态SQL函数
35.4.11. 带有排序规则的SQL函数
35.5. 函数重载
35.6. 函数易失性范畴
35.7. 过程语言函数
35.8. 内部函数
35.9. C-语言函数
35.9.1. 动态加载
35.9.2. 基本类型的C语言函数
35.9.3. 版本-0调用约定
35.9.4. 版本1调用约定
35.9.5. 书写代码
35.9.6. 编译和链接动态加载的函数
35.9.7. 复合类型参数
35.9.8. 返回行(复合类型)
35.9.9. 返回集合
35.9.10. 多态参数和返回类型
35.9.11. 转换函数
35.9.12. 共享内存和LWLocks
35.9.13. 使用C++的可扩展性
35.10. 用户定义聚合
35.11. 用户定义类型
35.12. 用户定义操作符
35.13. 操作符优化信息
35.13.1. COMMUTATOR
35.13.2. NEGATOR
35.13.3. RESTRICT
35.13.4. JOIN
35.13.5. HASHES
35.13.6. MERGES
35.14. 扩展索引接口
35.14.1. 索引方法和操作符类
35.14.2. 索引方法策略
35.14.3. 索引方法支持过程
35.14.4. 例子
35.14.5. 操作符类和操作符族
35.14.6. 操作符类的系统相关性
35.14.7. 排序操作符
35.14.8. 操作符类的特殊特性
35.15. 包装相关对象到一个扩展
35.15.1. 扩展文件
35.15.2. 扩展浮动
35.15.3. 扩展配置表
35.15.4. 扩展更新
35.15.5. 扩展实例
35.16. 扩展基础设施建设

在本章的剩余部分, 我们将讨论你如何通过增加下面几种对象来扩展PostgreSQLSQL查询语言: