选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0
历史版本PostgreSQL 9.4 已于 2020 年 2 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本

部分 V. 服务器编程

本部分介绍如何使用用户定义函数、数据类型、触发器等扩展服务器功能。这些属于高级主题,通常应在读者已经理解其他有关PostgreSQL的用户文档之后再来学习。本部分后面的章节介绍PostgreSQL发行版中提供的服务器端编程语言,以及与服务器端编程有关的一般问题。在深入学习服务器端编程的内容之前,至少应先阅读第 35 章的前几节(涵盖函数)。

目录

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. INSERTUPDATEDELETE规则
38.5. 规则和权限
38.6. 规则和命令状态
38.7. 规则与触发器
39. 过程语言
39.1. 安装过程语言
40. PL/pgSQLSQL 过程语言
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. PL/Tcl 中的事件触发器函数
41.8. 模块与unknown命令
41.9. 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 事件触发器
42.8. PL/Perl 内部机制
43. PL/Python - Python 过程语言
43.1. Python 2 与 Python 3
43.2. PL/Python 函数
43.3. 数据值
43.4. 共享数据
43.5. 匿名代码块
43.6. 触发器函数
43.7. 数据库访问
43.8. 显式子事务
43.9. 辅助函数
43.10. 环境变量
44. 服务器编程接口
44.1. 接口函数
44.2. 接口支持函数
44.3. 内存管理
44.4. 数据更改的可见性
44.5. 示例
45. 后台工作进程
46. 逻辑解码
46.1. 逻辑解码示例
46.2. 逻辑解码概念
46.3. 流复制协议接口
46.4. 逻辑解码 SQL 接口
46.5. 与逻辑解码相关的系统目录
46.6. 逻辑解码输出插件
46.7. 逻辑解码输出写入器
46.8. 逻辑解码的同步复制支持

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。