当前位置:主页 > 计算机电子书 > 数据库 > 数据库下载
PostgreSQL服务器编程

PostgreSQL服务器编程 PDF 高清版

  • 更新:2020-03-01
  • 大小:34.1 MB
  • 类别:数据库
  • 作者:Hannu、Krosing
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

POSTGRESQL服务器编程将带你学习PostgreSQL函数的基础部分。在学习过程中,你将会使用各种程序语言(不限于自带的PL/pgSQL语言)进行函数的编写。你会看到我们是如何创建可用的库文件,如何将这些库文件组装成更有用的组件,并把这些组件分发到社区中;你也会看到我们是如何从大量的外部数据源中抽取数据,并通过扩展PostgreSQL完成数据的本地化抽取;同时,你也可以在以上过程中使用一个超级棒的调试界面,这个调试界面可以让你在整个学习过程中变得更加得心应手、事半功倍。

目录

  • 前 言
  • 第1章 PostgreSQL服务器简介 1
  • 1.1 为什么在服务器中进行程序设计 2
  • 1.2 关于本书的代码示例 5
  • 1.3 超越简单函数 7
  • 1.4 使用触发器管理相关数据 8
  • 1.5 审核更改 11
  • 1.6 数据清洗 16
  • 1.7 定制排序方法 17
  • 1.8 程序设计最佳实践 18
  • 1.8.1 KISS——尽量简单(keep it simple stupid) 18
  • 1.8.2 DRY——不要写重复的代码(don’t repeat yourself) 19
  • 1.8.3 YAGNI——你并不需要它(you ain’t gonna need it) 19
  • 1.8.4 SOA——服务导向架构(service-oriented architecture) 19
  • 1.8.5 类型的扩展 20
  • 1.9 关于缓存 21
  • 1.10 总结——为什么在服务器中进行程序设计 21
  • 1.10.1 性能 21
  • 1.10.2 易于维护 22
  • 1.10.3 保证安全的简单方法 22
  • 1.11 小结 22
  • 第2章 服务器程序设计环境 24
  • 2.1 购置成本 25
  • 2.2 开发者的可用性 26
  • 2.3 许可证书 26
  • 2.4 可预测性 27
  • 2.5 社区 28
  • 2.6 过程化语言 28
  • 2.6.1 平台兼容性 29
  • 2.6.2 应用程序设计 30
  • 2.6.3 更多基础 32
  • 2.7 小结 35
  • 第3章 第一个PL/pgSQL函数 36
  • 3.1 为什么是PL / pgSQL 36
  • 3.2 PL/pgSQL函数的结构 37
  • 3.3 条件表达式 39
  • 3.3.1 通过计数器循环 43
  • 3.3.2 对查询结果进行循环 45
  • 3.3.3 PERFORM与SELECT 47
  • 3.4 返回记录 47
  • 3.5 处理函数结果 50
  • 3.6 结论 51
  • 第4章 返回结构化数据 52
  • 4.1 集合与数组 52
  • 4.2 返回集合 53
  • 4.3 使用返回集合的函数 54
  • 4.4 基于视图的函数 56
  • 4.5 OUT参数与记录集 59
  • 4.5.1 OUT参数 59
  • 4.5.2 返回记录集 60
  • 4.5.3 使用RETURNS TABLE 61
  • 4.5.4 不返回预定义结构 62
  • 4.5.5 返回SETOF ANY 63
  • 4.5.6 可变参数列表 65
  • 4.6 RETURN SETOF变量总结 66
  • 4.7 返回游标 66
  • 4.7.1 对从另一个函数中返回的游标进行迭代处理 68
  • 4.7.2 函数返回游标(多个游标)的小结 69
  • 4.8 处理结构化数据的其他方法 69
  • 4.8.1 现代复杂数据类型——XML和JSON 69
  • 4.8.2 XML数据类型和从函数中返回XML数据 70
  • 4.8.3 以JSON格式返回数据 72
  • 4.9 小结 74
  • 第5章 PL/pgSQL触发器函数 75
  • 5.1 创建触发器函数 75
  • 5.2 简单的“嘿,我被调用了”触发器 76
  • 5.3 审核触发器 79
  • 5.4 无效的DELETE 81
  • 5.5 无效的TRUNCATE 83
  • 5.6 修改NEW记录 83
  • 5.7 不可改变的字段触发器 84
  • 5.8 当触发器被调用时的控制策略 85
  • 5.8.1 有条件的触发器 86
  • 5.8.2 在特定字段变化的触发器 87
  • 5.9 可视化 87
  • 5.10 传递给PL/pgSQL TRIGGER函数的变量 88
  • 5.11 小结 88
  • 第6章 PL/pgSQL调试 90
  • 6.1 使用RAISE NOTICE进行“手动”调试 91
  • 6.1.1 抛出异常 92
  • 6.1.2 文件日志 94
  • 6.2 可视化调试 95
  • 6.2.1 安装调试器 96
  • 6.2.2 安装pgAdmin3 96
  • 6.2.3 使用调试器 96
  • 6.3 小结 98
  • 第7章 使用无限制的开发语言 99
  • 7.1 不受信任的语言是否比受信任的语言差 99
  • 7.2 不受信任的语言是否会拖垮数据库 100
  • 7.3 为什么不受信任 100
  • 7.4 PL/Python快速介绍 101
  • 7.4.1 最小的PL/Python函数 101
  • 7.4.2 数据类型转换 102
  • 7.4.3 使用PL/Python编写简单函数 103
  • 7.4.4 在数据库中运行查询 106
  • 7.4.5 使用PL/Python编写触发器函数 108
  • 7.4.6 构建查询 113
  • 7.4.7 处理异常 113
  • 7.4.8 Python中的原子性 115
  • 7.4.9 PL/Python调试 116
  • 7.5 跳出“SQL 数据库服务器”的限制进行思考 119
  • 7.5.1 在保存图像时生成缩略图 119
  • 7.5.2 发送一封电子邮件 120
  • 7.6 小结 121
  • 第8章 使用C编写高级函数 122
  • 8.1 最简单的C函数——返回(a+b) 123
  • 8.1.1 add_func.c 123
  • 8.1.2 Makefile 125
  • 8.1.3 创建add(int,int)函数 126
  • 8.1.4 add_func.sql.in 126
  • 8.1.5 关于写C函数的总结 127
  • 8.2 为add(int, int)添加功能 127
  • 8.2.1 NULL参数的智能处理 128
  • 8.2.2 与任何数量的参数一起运作 129
  • 8.3 C函数编写的基础指南 134
  • 8.4 来自C函数的错误报告 136
  • 8.4.1 并非错误的“错误”状态 136
  • 8.4.2 消息何时被发送到客户端 137
  • 8.5 运行查询与调用PostgreSQL函数 137
  • 8.5.1 使用SPI的示例C函数 138
  • 8.5.2 数据更改的可见性 139
  • 8.5.3 SPI_*函数的更多相关信息 140
  • 8.6 将记录集作为参数或返回值处理 140
  • 8.6.1 返回复杂类型的单个元组 141
  • 8.6.2 从参数元组中提取字段 143
  • 8.6.3 构建一个返回元组 143
  • 8.6.4 插曲——什么是Datum 144
  • 8.6.5 返回一个记录集 144
  • 8.7 快速获取数据库变更 147
  • 8.8 在提交/回滚时处理情况 148
  • 8.9 在后端间进行同步 148
  • 8.10 C语言的额外资源 149
  • 8.11 小结 149
  • 第9章 使用PL/Proxy扩展数据库 151
  • 9.1 简单的单服务器通话 151
  • 9.2 处理跨多数据库的成功分表 157
  • 9.2.1 什么扩展计划有用和什么时候有用 158
  • 9.2.2 跨多服务器的数据分区 158
  • 9.2.3 PL/Proxy——分区语言 162
  • 9.2.4 从单数据库移动数据到分区的数据库 168
  • 9.3 小结 169
  • 第10章 发布自己的PostgreSQL扩展程序 170
  • 10.1 什么时候创建扩展程序 170
  • 10.2 未封装的扩展程序 171
  • 10.3 扩展程序版本 172
  • 10.4 .control文件 173
  • 10.5 构建扩展程序 173
  • 10.6 安装扩展程序 174
  • 10.7 发布扩展程序 175
  • 10.7.1 关于PostgreSQL Extension Network的简介 175
  • 10.7.2 注册以发布扩展程序 176
  • 10.7.3 创建扩展项目的简单方法 178
  • 10.7.4 提供扩展程序的相关元数据 179
  • 10.7.5 编写扩展代码 182
  • 10.7.6 创建程序包 183
  • 10.7.7 向PGXN提交程序包 183
  • 10.8 安装PGXN上的扩展程序 185
  • 10.9 小结 185

资源下载

资源下载地址1:https://pan.baidu.com/s/1o5hECzfVkcLYp2wfAws28Q

相关资源

网友留言