PostgreSQL服务器编程PDF电子书下载
- 电子书积分:9 积分如何计算积分?
- 作 者:(美)克洛斯著
- 出 版 社:北京:机械工业出版社
- 出版年份:2014
- ISBN:9787111480570
- 页数:186 页
第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
- 《情报学 服务国家安全与发展的现代情报理论》赵冰峰著 2018
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《体育公共服务改革 理想之美与现实之殇》齐超 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《会议服务》黄程主编 2015
- 《创新的脚步 全国社区治理和服务创新实验区成果集萃》民政部编写组编著 2018
- 《大数据环境下的信息管理方法技术与服务创新丛书 俄罗斯档案事业改革与发展研究》徐胡乡责编;肖秋会 2019
- 《服务英语》姜宇彤 2018
- 《全国职业院校工业机器人技术专业规划教材 工业机器人现场编程》(中国)项万明 2019
- 《编程超有趣 奇妙Python轻松学 第1辑》HelloCode人工智能国际研究组 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019