大约 3 分钟
第 38 章 扩展 SQL
目录
38.2. PostgreSQL类型系统 : 38.2.1. 基础类型
[38.2.2. 容器类型](extend-type-system.md#id-1.8.3.5.10)
[38.2.3. 域](extend-type-system.md#EXTEND-TYPE-SYSTEM-DOMAINS)
[38.2.4. 伪类型](extend-type-system.md#id-1.8.3.5.12)
[38.2.5. 多态类型](extend-type-system.md#EXTEND-TYPES-POLYMORPHIC)
38.5. 查询语言(SQL)函数 : 38.5.1. SQL函数的参数
[38.5.2. 基本类型上的SQL](xfunc-sql.md#XFUNC-SQL-BASE-FUNCTIONS)
[38.5.3. 组合类型上的SQL函数](xfunc-sql.md#XFUNC-SQL-COMPOSITE-FUNCTIONS)
[38.5.4. 带有输出参数的SQL函数](xfunc-sql.md#XFUNC-OUTPUT-PARAMETERS)
[38.5.5. 带有可变数量参数的SQL函数](xfunc-sql.md#XFUNC-SQL-VARIADIC-FUNCTIONS)
[38.5.6. 带有参数默认值的SQL函数](xfunc-sql.md#XFUNC-SQL-PARAMETER-DEFAULTS)
[38.5.7. SQL 函数作为表来源](xfunc-sql.md#XFUNC-SQL-TABLE-FUNCTIONS)
[38.5.8. 返回集合的SQL函数](xfunc-sql.md#XFUNC-SQL-FUNCTIONS-RETURNING-SET)
[38.5.9. 返回`TABLE`的SQL函数](xfunc-sql.md#XFUNC-SQL-FUNCTIONS-RETURNING-TABLE)
[38.5.10. 多态SQL函数](xfunc-sql.md#id-1.8.3.8.18)
[38.5.11. 带有排序规则的SQL函数](xfunc-sql.md#id-1.8.3.8.19)
[38.10.2. C 语言函数中的基本类型](xfunc-c.md#XFUNC-C-BASETYPE)
[38.10.3. 版本 1 的调用约定](xfunc-c.md#id-1.8.3.13.7)
[38.10.4. 编写代码](xfunc-c.md#id-1.8.3.13.8)
[38.10.5. 编译和链接动态载入的函数](xfunc-c.md#DFUNC)
[38.10.6. 组合类型参数](xfunc-c.md#id-1.8.3.13.10)
[38.10.7. 返回行(组合类型)](xfunc-c.md#id-1.8.3.13.11)
[38.10.8. 返回集合](xfunc-c.md#XFUNC-C-RETURN-SET)
[38.10.9. 多态参数和返回类型](xfunc-c.md#id-1.8.3.13.13)
[38.10.10. 转换函数](xfunc-c.md#XFUNC-TRANSFORM-FUNCTIONS)
[38.10.11. 共享内存和 LWLock](xfunc-c.md#id-1.8.3.13.15)
[38.10.12. 把 C++ 用于可扩展性](xfunc-c.md#EXTEND-CPP)
38.11. 用户定义的聚集 : 38.11.1. 移动聚集模式
[38.11.2. 多态和可变聚集](xaggr.md#XAGGR-POLYMORPHIC-AGGREGATES)
[38.11.3. 有序集聚集](xaggr.md#XAGGR-ORDERED-SET-AGGREGATES)
[38.11.4. 部分聚集](xaggr.md#XAGGR-PARTIAL-AGGREGATES)
[38.11.5. 聚集的支持函数](xaggr.md#XAGGR-SUPPORT-FUNCTIONS)
38.12. 用户定义的类型 : 38.12.1. TOAST 考量
38.14. 操作符优化信息 : 38.14.1. COMMUTATOR
[38.14.2. `NEGATOR`](xoper-optimization.md#id-1.8.3.17.5)
[38.14.3. `RESTRICT`](xoper-optimization.md#id-1.8.3.17.6)
[38.14.4. `JOIN`](xoper-optimization.md#id-1.8.3.17.7)
[38.14.5. `HASHES`](xoper-optimization.md#id-1.8.3.17.8)
[38.14.6. `MERGES`](xoper-optimization.md#id-1.8.3.17.9)
38.15. 索引的接口扩展 : 38.15.1. 索引方法和操作符类
[38.15.2. 索引方法策略](xindex.md#XINDEX-STRATEGIES)
[38.15.3. 索引方法支持例程](xindex.md#XINDEX-SUPPORT)
[38.15.4. 一个例子](xindex.md#XINDEX-EXAMPLE)
[38.15.5. 操作符类和操作符族](xindex.md#XINDEX-OPFAMILY)
[38.15.6. 操作符类上的系统依赖](xindex.md#XINDEX-OPCLASS-DEPENDENCIES)
[38.15.7. 排序操作符](xindex.md#XINDEX-ORDERING-OPS)
[38.15.8. 操作符类的特性](xindex.md#XINDEX-OPCLASS-FEATURES)
38.16. 打包相关对象到一个扩展中 : 38.16.1. 定义扩展对象
[38.16.2. 扩展文件](extend-extensions.md#id-1.8.3.19.12)
[38.16.3. 扩展可再定位性](extend-extensions.md#EXTEND-EXTENSIONS-RELOCATION)
[38.16.4. 扩展配置表](extend-extensions.md#EXTEND-EXTENSIONS-CONFIG-TABLES)
[38.16.5. 扩展更新](extend-extensions.md#id-1.8.3.19.15)
[38.16.6. 用更新脚本安装扩展](extend-extensions.md#id-1.8.3.19.16)
[38.16.7. 扩展实例](extend-extensions.md#EXTEND-EXTENSIONS-EXAMPLE)
在下面的小节中,我们将讨论如何通过增加各种元素来扩展PostgreSQL SQL 查询语言:
