精通POSTGRESQL 11 第2版PDF电子书下载
- 电子书积分:20 积分如何计算积分?
- 作 者:(奥)汉斯·尤尔根·舍尔希著
- 出 版 社:
- 出版年份:2020
- ISBN:
- 页数:0 页
第1章 PostgreSQL概述 1
1.1 PostgreSQL 11的新颖之处 1
1.1.1 理解新的数据库管理功能 1
1.1.2 改良的索引及更好的优化 3
1.1.3 更好的缓存管理 4
1.1.4 增强的窗口函数 5
1.1.5 引入即时编译 6
1.1.6 增强的分区机制 6
1.1.7 增加对存储过程的支持 7
1.1.8 改进的ALTER TABLE 8
1.2 小结 9
1.3 常见问题 9
第2章 理解事务和锁定 11
2.1 运用PostgreSQL事务 11
2.1.1 处理事务中的错误 13
2.1.2 使用SAVEPOINT 14
2.1.3 事务性DDL 15
2.2 了解基本的锁定 16
2.2.1 避免典型错误和显式锁定 18
2.2.2 考虑可替换的解决方案 20
2.3 使用FOR SHARE和FOR UPDATE 20
2.4 了解事务隔离级别 23
2.5 观察死锁和类似的问题 25
2.6 利用咨询锁 27
2.7 优化存储以及控制清理 28
2.7.1 配置VACUUM和autovacuum 29
2.7.2 观察工作中的VACUUM 31
2.7.3 通过利用snapshot too old来限制事务 34
2.8 小结 34
2.9 常见问题 35
第3章 使用索引 37
3.1 理解简单的查询和代价模型 37
3.1.1 使用EXPLAIN 38
3.1.2 深究PostgreSQL代价模型 40
3.1.3 部署简单的索引 42
3.1.4 使用排序输出 43
3.1.5 高效地使用位图扫描 45
3.1.6 以一种聪明的方式使用索引 46
3.2 使用聚簇表改善速度 48
3.2.1 聚簇表 51
3.2.2 使用只用索引的扫描 51
3.3 了解额外的btree特性 52
3.3.1 组合索引 52
3.3.2 增加函数索引 53
3.3.3 减少空间消耗 54
3.3.4 在建立索引时添加数据 56
3.4 引入操作符类 56
3.4.1 创建新操作符 58
3.4.2 创建操作符类 61
3.4.3 测试自定义操作符类 62
3.5 了解PostgreSQL的索引类型 62
3.5.1 Hash索引 63
3.5.2 GiST索引 63
3.5.3 GIN索引 66
3.5.4 SP-GiST索引 67
3.5.5 BRIN索引 67
3.5.6 增加额外的索引 68
3.6 用模糊搜索实现更好的回答 70
3.6.1 利用pg_trgm 70
3.6.2 加速LIKE查询 72
3.6.3 处理正则表达式 73
3.7 了解全文搜索 73
3.7.1 比较字符串 74
3.7.2 定义GIN索引 75
3.7.3 调试你的搜索 76
3.7.4 收集词统计信息 77
3.7.5 利用排除操作符 78
3.8 小结 79
3.9 常见问题 79
第4章 处理高级SQL 81
4.1 引入分组集 81
4.1.1 装载一些例子数据 81
4.1.2 应用分组集 82
4.1.3 组合分组集和FILTER子句 85
4.2 使用有序集 86
4.3 理解假想聚集 88
4.4 利用窗口函数和分析 89
4.4.1 划分数据 90
4.4.2 在窗口中排序数据 91
4.4.3 使用滑动窗口 92
4.4.4 抽取窗口子句 94
4.4.5 使用内建窗口函数 95
4.5 编写自己的聚集 103
4.5.1 创建简单的聚集 103
4.5.2 为并行查询增加支持 106
4.5.3 改进效率 107
4.5.4 编写假想聚集 109
4.6 小结 110
第5章 日志文件和系统统计信息 111
5.1 收集运行时统计信息 111
5.1.1 检查实时流量 111
5.1.2 检查数据库 114
5.1.3 检查表 117
5.1.4 了解pg_stat_user_tables 118
5.1.5 深入研究索引 119
5.1.6 跟踪后台工作者 120
5.1.7 跟踪、归档以及流 121
5.1.8 检查SSL连接 124
5.1.9 实时检查事务 124
5.1.10 跟踪清理进度 125
5.1.11 使用pg_stat_statements 126
5.2 创建日志文件 129
5.2.1 定义日志目的地和轮转 130
5.2.2 配置syslog 131
5.2.3 记录慢查询 132
5.2.4 定义记录什么以及怎么记录 132
5.3 小结 135
5.4 常见问题 135
第6章 优化查询性能 137
6.1 学习优化器的行为 137
6.1.1 评估连接选项 138
6.1.2 应用转换 140
6.1.3 应用等值约束 141
6.1.4 穷举搜索 141
6.1.5 全都试一遍 142
6.1.6 让处理失败 142
6.1.7 常量折叠 144
6.1.8 理解函数内联 144
6.1.9 连接剪枝 146
6.1.10 加速集合操作 147
6.2 理解执行计划 148
6.2.1 系统地了解计划 149
6.2.2 发现问题 151
6.3 了解并且固定连接 155
6.3.1 正确使用连接 155
6.3.2 处理外连接 156
6.3.3 理解join_collapse_limit变量 157
6.4 启用和禁用优化器设置 158
6.5 数据分区 162
6.5.1 创建分区 162
6.5.2 应用表约束 164
6.5.3 修改继承的结构 166
6.5.4 在分区结构中移进和移出表 166
6.5.5 清理数据 167
6.5.6 理解PostgreSQL 11.0的分区技术 168
6.6 为好的查询性能调整参数 170
6.6.1 加速排序 173
6.6.2 加速管理任务 175
6.7 使用并行查询 176
6.7.1 PostgreSQL能并行做哪些事情? 179
6.7.2 并行实践 180
6.8 JIT编译 181
6.8.1 配置JIT 181
6.8.2 运行查询 182
6.9 小结 184
第7章 编写存储过程 187
7.1 了解存储过程语言 187
7.1.1 了解基本原理—存储过程与函数 188
7.1.2 函数剖析 189
7.2 了解各种存储过程语言 192
7.2.1 PL/pgSQL简介 193
7.2.2 用PL/pgSQL编写存储过程 210
7.2.3 PL/Perl简介 211
7.2.4 PL/Python简介 218
7.3 改进函数 221
7.3.1 减少函数调用次数 222
7.4 将函数用于多种目的 223
7.5 小结 225
7.6 常见问题 225
第8章 管理PostgreSQL的安全性 227
8.1 管理网络安全性 227
8.1.1 理解绑定地址和连接 228
8.1.2 管理pg_hba.conf 231
8.1.3 处理实例级安全性 235
8.1.4 定义数据库级安全性 239
8.1.5 调整方案级权限 241
8.1.6 使用表 243
8.1.7 处理列级安全性 244
8.1.8 配置默认特权 245
8.2 深入研究行级安全性——RLS 247
8.3 检查权限 251
8.4 重新分配对象以及删除用户 252
8.5 小结 254
8.6 常见问题 254
第9章 处理备份和恢复 255
9.1 执行简单的转储 255
9.1.1 运行pg_dump 255
9.1.2 传递口令和连接信息 257
9.1.3 抽取数据的子集 259
9.2 处理多种数据格式 260
9.3 重放备份 261
9.4 处理全局数据 262
9.5 小结 263
9.6 常见问题 263
第10章 理解备份与复制 265
10.1 理解事务日志 265
10.1.1 查看事务日志 266
10.1.2 理解检查点 267
10.1.3 优化事务日志 267
10.2 事务日志归档与恢复 269
10.2.1 配置归档 269
10.2.2 配置pg_hba.conf文件 270
10.2.3 创建基础备份 271
10.2.4 重放事务日志 274
10.2.5 清理事务日志归档 277
10.3 设置异步复制 278
10.3.1 执行基础设置 279
10.3.2 停止和继续复制 281
10.3.3 检查复制以确保可用性 282
10.3.4 执行故障转移以及理解时间线 285
10.3.5 管理冲突 285
10.3.6 让复制更可靠 287
10.4 升级成同步复制 288
10.5 利用复制槽 291
10.5.1 处理物理复制槽 291
10.5.2 处理逻辑复制槽 293
10.6 使用CREATE PUBLICATION以及CREATE SUBSCRIPTION 296
10.7 小结 298
10.8 常见问题 299
第11章 选取有用的扩展 301
11.1 理解扩展如何工作 301
11.2 利用contrib模块 305
11.2.1 使用adminpack模块 305
11.2.2 应用布隆过滤器 307
11.2.3 部署btree_gist和btree_gin 309
11.2.4 Dblink—考虑逐步淘汰 310
11.2.5 用file_fdw取得文件 311
11.2.6 使用pageinspect检查存储 312
11.2.7 用pg_buffercache研究缓冲 314
11.2.8 用pgcrypto加密数据 316
11.2.9 用pg_prewarm预热缓冲 316
11.2.10 用pg_stat_statements检查性能 318
11.2.11 用pgstattuple检查存储 318
11.2.12 用pg_trgm进行模糊搜索 319
11.2.13 用postgres_fdw连接远程服务器 320
11.3 其他有用的扩展 324
11.4 小结 325
第12章 检修PostgreSQL 326
12.1 着手处理一个陌生的数据库 326
12.2 检查pg_stat_activity 326
12.2.1 处理Hibernate语句 328
12.2.2 搞清楚查询来自何处 329
12.3 检查慢查询 329
12.3.1 检查个体查询 330
12.3.2 用perf深入研究 331
12.4 检查日志 332
12.5 检查缺失的索引 333
12.6 检查内存和I/O 333
12.7 了解值得注意的错误场景 335
12.7.1 面对clog损坏 336
12.7.2 理解检查点消息 337
12.7.3 管理损坏的数据页面 337
12.7.4 粗心的连接管理 338
12.7.5 与表膨胀作斗争 339
12.8 小结 339
12.9 常见问题 340
第13章 迁移到PostgreSQL 341
13.1 把SQL语句迁移到PostgreSQL 341
13.1.1 使用lateral连接 341
13.1.2 使用分组集 342
13.1.3 使用WITH子句——公共表表达式 343
13.1.4 使用WITH RECURSIVE子句 344
13.1.5 使用FILTER子句 344
13.1.6 使用窗口函数 345
13.1.7 使用有序集——WITHIN GROUP子句 346
13.1.8 使用TABLESAMPLE子句 346
13.1.9 使用limit/offset 347
13.1.10 使用OFFSET 348
13.1.11 使用临时表 349
13.1.12 在时间序列中匹配模式 349
13.2 从Oracle转向PostgreSQL 349
13.2.1 使用oracle_fdw扩展移动数据 349
13.2.2 使用ora2pg从Oracle进行迁移 351
13.2.3 常见的陷阱 353
13.2.4 ora_migrator——快速从Oracle迁移到PostgreSQL 355
13.3 从MySQL或MariaDB转向PostgreSQL 355
13.3.1 处理MySQL和MariaDB中的数据 356
13.3.2 迁移数据和模式 360
13.4 小结 363
- 《HTML5从入门到精通 第3版》(中国)明日科技 2019
- 《新手养花从入门到精通》徐帮学编 2019
- 《C语言从入门到精通》王征,李晓波著 2020
- 《可爱Q版技法从入门到精通》石头编著 2019
- 《WPS Office办公应用从入门到精通》IT新时代教育 2018
- 《行政管理实操从入门到精通》任康磊著 2020
- 《C#从入门到精通 第5版》(中国)明日科技 2019
- 《VRay渲染器及项目实战从入门到精通》沙旭,徐虹,乐美青编著 2019
- 《AutoCAD 2020从入门到精通 中文版》CADCAMCAE技术联盟 2019
- 《UGNX12入门、精通与实战 中文版》周敏 2019
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《少女杜拉》(奥)西格蒙德·弗洛伊德(SigmundFreud)著 2020
- 《资源型城市可持续发展的财政政策研究》刘尚希著 2019
- 《世界名人名传 三作家传 卡萨诺瓦、司汤达、托尔斯泰》柳鸣九主编;(奥)茨威格著;申文林,高中甫译 2019
- 《阿德勒》(奥)阿尔弗雷德·阿德勒著 2019
- 《室内设计看这本就够了 全彩升级版》陈根主编;吴迪副主编 2019
- 《精神分析引论》(奥)西格蒙德·弗洛伊德著;黄珊译 2019
- 《童第周》姜荣根编绘 2019
- 《骑马周游世界》海勒根那著 2019
- 《刺杀肯尼迪》(美)比尔·奥赖利(美)马丁·杜加尔德 2019