描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302547648
? 本书帮助读者用*的PostgreSQL版本为企业应用构建动态数据库方案,能让数据库分析师轻松地设计物理和技术方面的系统架构。
这本书从介绍PostgreSQL 11新近发布的特性开始,帮助读者构建有效且能容错的PostgreSQL应用。读者将详细学习PostgreSQL所有的先进特性,包括逻辑复制、数据库集群、性能调优、监控以及用户管理。还将接触到PostgreSQL优化器、配置PostgreSQL获得更高的速度、如何从Oracle转移到PostgreSQL等内容。随着学习的进一步深入,读者将了解到事务、锁、索引以及优化查询改进性能等内容。
此外,读者将学习到如何管理网络安全及备份和复制的方法,同时还会了解PostgreSQL中有用的扩展,这样就能优化使用大型数据库时的速度和性能。
本书详细阐述了与PostgreSQL 11相关的基本解决方案,主要包括PostgreSQL概述、理解事务和锁定、使用索引、处理高级SQL、日志文件和系统统计信息、优化查询性能、编写存储过程、管理PostgreSQL的安全性、处理备份和恢复、理解备份与复制、选取有用的扩展、检修PostgreSQL、迁移到PostgreSQL等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。 本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。
第1章 PostgreSQL概述
1.1 PostgreSQL的新颖之处
1.1.1 理解新的数据库管理功能
1.1.2 改良的索引及更好的优化
1.1.3 更好的缓存管理
1.1.4 增强的窗口函数
1.1.5 引入即时编译
1.1.6 增强的分区机制
1.1.7 增加对存储过程的支持
1.1.8 改进的ALTER TABLE
1.2 小结
1.3 常见问题
第2章 理解事务和锁定
2.1 运用PostgreSQL事务
2.1.1 处理事务中的错误
2.1.2 使用SAVEPOINT
2.1.3 事务性DDL
2.2 了解基本的锁定
2.2.1 避免典型错误和显式锁定
2.2.2 考虑可替换的解决方案
2.3 使用FOR SHARE和FOR UPDATE
2.4 了解事务隔离级别
2.5 观察死锁和类似的问题
2.6 利用咨询锁
2.7 优化存储以及控制清理
2.7.1 配置VACUUM和autovacuum
2.7.2 观察工作中的VACUUM
2.7.3 通过利用snapshot too old来限制事务
2.8 小结
2.9 常见问题
第3章 使用索引
3.1 理解简单的查询和代价模型
3.2 使用聚簇表改善速度
3.3 了解额外的btree特性
3.4 引入操作符类
3.5 了解PostgreSQL的索引类型
3.6 用模糊搜索实现更好的回答
3.7 了解全文搜索
3.8 小结
3.9 常见问题
第4章 处理高级SQL
4.1 引入分组集
4.2 使用有序集
4.3 理解假想聚集
4.4 利用窗口函数和分析
4.5 编写自己的聚集
4.6 小结
第5章 日志文件和系统统计信息
5.1 收集运行时统计信息
5.2 创建日志文件
5.3 小结
5.4 常见问题
第6章 优化查询性能
6.1 学习优化器的行为
6.2 理解执行计划
6.3 了解并且固定连接
6.4 启用和禁用优化器设置
6.5 数据分区
6.6 为好的查询性能调整参数
6.7 使用并行查询
6.8 JIT编译
6.9 小结
第7章 编写存储过程
7.1 了解存储过程语言
7.2 了解各种存储过程语言
7.3 改进函数
7.4 将函数用于多种目的
7.5 小结
7.6 常见问题
第8章 管理PostgreSQL的安全性
8.1 管理网络安全性
8.2 深入研究行级安全性—RLS
8.3 检查权限
8.4 重新分配对象以及删除用户
8.5 小结
8.6 常见问题
第9章 处理备份和恢复
9.1 执行简单的转储
9.2 处理多种数据格式
9.3 重放备份
9.4 处理全局数据
9.5 小结
9.6 常见问题
第10章 理解备份与复制
10.1 理解事务日志
10.2 事务日志归档与恢复
10.3 设置异步复制
10.4 升级成同步复制
10.5 利用复制槽
10.6 使用CREATE PUBLICATION以及CREATE SUBSCRIPTION
10.7 小结
10.8 常见问题
第11章 选取有用的扩展
11.1 理解扩展如何工作
11.2 利用contrib模块
11.3 其他有用的扩展
11.4 小结
第12章 检修PostgreSQL
12.1 着手处理一个陌生的数据库
12.2 检查pg_stat_activity
12.3 检查慢查询
12.4 检查日志
12.5 检查缺失的索引
12.6 检查内存和I/O
12.7 了解值得注意的错误场景
12.8 小结
12.9 常见问题
第13章 迁移到PostgreSQL
13.1 把SQL语句迁移到PostgreSQL
13.2 从Oracle转向PostgreSQL
13.2.4ora_migrator—快速从Oracle迁移到PostgreSQL
13.3 从MySQL或MariaDB转向PostgreSQL
13.4 小结
本书帮助读者用最新的PostgreSQL版本为企业应用构建动态数据库方案,能让数据库分析师轻松地设计物理和技术方面的系统架构。
这本书从介绍PostgreSQL 11新近发布的特性开始,帮助读者构建有效且能容错的PostgreSQL应用。读者将详细学习PostgreSQL所有的先进特性,包括逻辑复制、数据库集群、性能调优、监控以及用户管理。还将接触到PostgreSQL优化器、配置PostgreSQL获得更高的速度、如何从Oracle转移到PostgreSQL等内容。随着学习的进一步深入,读者将了解到事务、锁、索引以及优化查询改进性能等内容。
此外,读者将学习到如何管理网络安全及备份和复制的方法,同时还会了解PostgreSQL中有用的扩展,这样就能优化使用大型数据库时的速度和性能。
在读完本书后,读者将能通过实现高级管理任务来将数据库的功能发挥到极限。
适合人群
本书讲述了在PostgreSQL 11中新近引入的特性,向读者展示了如何构建更好的PostgreSQL应用以及高效地管理PostgreSQL数据库。读者将掌握PostgreSQL的高级特性,并且获得构建高效数据库方案的必要技能。
本书所涵盖的内容
第1章:PostgreSQL概述,介绍PostgreSQL以及PostgreSQL 11和其后版本中可用的新特性。
第2章:理解事务和锁定,探索锁定和事务,并且以最有效的方式利用PostgreSQL事务。
第3章:使用索引,讨论索引、它们的类型、用例,以及如何实现自己的索引策略。
第4章:处理高级SQL、有关现代SQL及其特性。我们将探索集合以及它们的各种类型,并且编写自己的集合。
第5章:日志文件和系统统计信息,解释如何理解数据库统计信息。
第6章:优化查询性能,解释如何编写更好、更快的查询。还将关注于了解本质上是什么让一个查询变得不好。
第7章:编写存储过程,更近距离地查看过程和函数之间的差别,还将讨论存储过程、使用扩展和其他更多PL/pgSQL的先进特性。
第8章:管理PostgreSQL的安全性,涵盖了作为一个PostgreSQL开发者和DBA会面对的最常见的安全性问题。
第9章:处理备份和恢复,涵盖了如何恢复备份以及处理部分转储的数据。
第10章:理解备份与复制,介绍PostgreSQL的事务日志,并且解释我们可以用它做些什么来改进设置,让系统更安全。
第11章:选取有用的扩展,讨论一些最广泛使用的PostgreSQL扩展。
第12章:检修PostgreSQL,着重于处理一个未知的数据库、确定关键瓶颈、处理存储损坏以及检查坏掉的复制品等内容。
第13章:迁移到PostgreSQL,即从其他数据库迁移到PostgreSQL的方法。
如何从本书获得最多
本书的读者很广泛。为了能跟得上本书中给出的例子,至少要有一些SQL甚至PostgreSQL的经验(不过这并非硬性要求)。一般来说,如果能熟悉Unix命令行会更好。
惯例
本书中的一些约定如下。
代码体文本(CodeInText):表示文本中的代码单词、数据库表名、文件夹名称、文件名、文件扩展名、路径名、伪URL、用户输入以及Twitter的handle。这里有一个例子:“I will add one row to the table using the a simple INSERT command.”。
任何命令行输入或者输出都被写成下面这样:
test=# CREATE TABLE t_test (id int);
CREATE TABLE
test=# INSERT INTO t_test VALUES (0);
INSERT 0 1
粗体文本:表示新术语、重要的词或者在屏幕上看到的词。例如,菜单或者对话框中的词会出现在这样的文本中。这里有一个例子:Select System info from the Administration panel。
警告或重要的注记出现在这样的一个标识旁。
提示和技巧出现在这样的标识旁。
保持联络
非常欢迎来自读者的反馈。
一般性反馈:如果您有关于此书任何方面的问题,请写邮件到[email protected]告诉我们,并且在邮件的主题中提及本书的标题。
勘误:尽管我们已经非常细心地确保内容的准确性,但错误仍可能出现。如果您在本书中找到了错误,请您将错误报告给我们,我们将不胜感激。请访问www.packt. com/submit-errata,选择您的书,单击Errata Submission Form链接,然后输入勘误的详情。
盗版:如果您在互联网上发现任何形式的对我们工作的非法复制品,请立即向我们提供位置地址或者网站名称,我们将不胜感激。请通过[email protected]联系我们,并提供疑似盗版材料的链接。
如果您对成为作者感兴趣:如果您在一个主题上拥有专业知识,并且有兴趣写作或者为著书做出贡献,请访问authors.packt.com。
书评
请留下您的评论。您既然已经阅读使用过此书,为什么不在您购买它的网站上留下一条书评呢?潜在的读者可能会看到并且使用您公正的意见来做出购买决定,我们在Packt上也能了解您对我们的产品的想法,我们的作者也能在他们的书上看到您的反馈。谢谢您!
更多有关Packt的信息,请访问www.packt.com。
关于作者
汉斯•尤尔根•舍尔希(Hans-Ju?rgen Schönig)拥有18年的PostgreSQL工作经验。他是一家名为Cybertec Schönig and Schönig GmbH的(www.postgresql-support.de)的PostgreSQL咨询和服务公司的CEO。该公司已经成功地为全球数不尽的客户提供了服务。在2000年创建Cybertec Schönig & Schönig GmbH之前,他是一家专注于奥地利劳动市场的私营调查公司的数据库开发人员,当时他的主要工作是数据挖掘和预测模型。除本书之外,他已经编写了好几本有关PostgreSQL的书。
关于审稿人
谢尔顿•斯特劳奇(Sheldon Strauch)是一位具有20年软件咨询经验的老手,他为IBM、Sears、Ernst and Young以及Kraft Foods等公司提供过咨询服务。他拥有商业管理的学士学位,并且利用他的技术技能来改进商业的自我意识。他的兴趣包括数据收集、管理和挖掘、地图及绘图、商业智能,以及面向持续改进的数据分析应用。他当前在Enova International公司工作,专注于端到端数据管理的开发以及挖掘,该公司是一家位于芝加哥的财务服务公司。在他的闲暇时间里,他喜欢艺术(特别是音乐)以及和他的妻子Marilyn一起旅行。
Packt正在寻找和你一样的作者
如果你有兴趣成为Packt的作者,请现在就访问authors.packtpub.com并进行申请。我们已经与和你一样的数千名开发者以及技术专家进行了合作,帮助他们把观点分享给全球的技术社区。你可以进行一般申请,申请我们正在招募作者的特定热门主题,或者提交你自己的想法。
评论
还没有评论。