2025年9月25日: PostgreSQL 18 发布!
支持的版本: 当前 (18) / 17 / 16 / 15 / 14 / 13
开发版本: devel
不再支持的版本: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1

第 36 章 扩展SQL

目录

36.1. 可扩展性如何工作
36.2. PostgreSQL 类型系统
36.2.1. 基本类型
36.2.2. 容器类型
36.2.3. 域
36.2.4. 伪类型
36.2.5. 多态类型
36.3. 用户定义函数
36.4. 用户定义过程
36.5. 查询语言 (SQL) 函数
36.5.1. 参数 forSQL函数
36.5.2. SQL基本类型上的函数
36.5.3. SQL复合类型上的函数
36.5.4. SQL带输出参数的函数
36.5.5. SQL带输出参数的过程
36.5.6. SQL参数数量可变的函数
36.5.7. SQL带参数默认值的函数
36.5.8. SQL作为表源的函数
36.5.9. SQL返回集合的函数
36.5.10. SQL返回 TABLE 的函数
36.5.11. 多态SQL函数
36.5.12. SQL带排序规则的函数
36.6. 函数重载
36.7. 函数易变性类别
36.8. 过程语言函数
36.9. 内部函数
36.10. C 语言函数
36.10.1. 动态加载
36.10.2. C 语言函数中的基本类型
36.10.3. 版本 1 调用约定
36.10.4. 编写代码
36.10.5. 编译和链接动态加载的函数
36.10.6. 服务器 API 和 ABI 稳定性指南
36.10.7. 复合类型参数
36.10.8. 返回行 (复合类型)
36.10.9. 返回集合
36.10.10. 多态参数和返回类型
36.10.11. 共享内存
36.10.12. LWLocks
36.10.13. 自定义等待事件
36.10.14. 注入点
36.10.15. 自定义累积统计信息
36.10.16. 使用 C++ 进行扩展
36.11. 函数优化信息
36.12. 用户定义聚合
36.12.1. 移动聚合模式
36.12.2. 多态和可变参数聚合
36.12.3. 有序集合聚合
36.12.4. 部分聚合
36.12.5. 聚合支持函数
36.13. 用户定义类型
36.13.1. TOAST 考虑事项
36.14. 用户定义运算符
36.15. 运算符优化信息
36.15.1. COMMUTATOR
36.15.2. NEGATOR
36.15.3. RESTRICT
36.15.4. JOIN
36.15.5. HASHES
36.15.6. MERGES
36.16. 将扩展接口到索引
36.16.1. 索引方法和运算符类
36.16.2. 索引方法策略
36.16.3. 索引方法支持例程
36.16.4. 示例
36.16.5. 运算符类和运算符族
36.16.6. 系统对运算符类的依赖
36.16.7. 排序运算符
36.16.8. 运算符类的特殊功能
36.17. 将相关对象打包成扩展
36.17.1. 扩展文件
36.17.2. 扩展的可重定位性
36.17.3. 扩展配置文件表
36.17.4. 扩展更新
36.17.5. 使用更新脚本安装扩展
36.17.6. 扩展的安全注意事项
36.17.7. 扩展示例
36.18. 扩展构建基础设施

在接下来的章节中,我们将讨论如何通过添加SQL函数(从 第 36.3 节 开始)

提交更正

如果您在文档中发现任何不正确、与您所使用的特定功能经验不符或需要进一步澄清的内容,请使用 此表格 报告文档问题。