0 0 0

深入浅出PostgreSQL.epub

热恋养分
1月前 310
我用夸克网盘分享了「深入浅出PostgreSQL.epub」,点击链接即可保存。打开「夸克APP」在线查看,支持多种文档格式转换。
深入浅出PostgreSQL 作者: 屠要峰 出版社: 电子工业出版社 页数: 464 定价: 99元 装帧: 平装-胶订 ISBN: 9787121369018

内容简介

《深入浅出PostgreSQL》基于PostgreSQL 10版本,采用“理论+实践”的形式编写,通过大量的实例,详细讲解了PostgreSQL的各种SQL特性、参数配置、备份恢复、性能调优、服务端编程、高可用方案等。 第1篇“准备”,包括初识PostgreSQL、安装和启动PostgreSQL;第2篇“入门”,包括创建数据库和表、数据类型及其运算符、函数、查询和修改数据;第3篇“进阶”,包括索引、视图、触发器、表继承和表分区、管理用户权限和模式、配置和管理数据库服务器、备份和恢复数据;第4篇“高阶”,包括事务、优化SQL语句、优化数据库服务端性能、PL/pgSQL服务端编程、高可用方案。 《深入浅出PostgreSQL》结构清晰、内容翔实、案例丰富、通俗易懂、实用性强,适合对数据库(特别是PostgreSQL)感兴趣的读者自学参考。另外,本书也适合作为社会培训机构的培训教材,还可作为大中专院校相关专业的教学参考书。

作者简介

屠要峰 研究员、中兴通讯数据库技术专家委员会主任、研究院副院长、CCF信息存储委员会常委、中国开源软件联盟理事。拥有二十多年大型软件系统研发实践经验,主持过大数据、云计算、云存储及分布式数据库等多个大型分布式系统的研发。负责中兴通讯数据智能方向的研发及应用,获省级科技进步一等奖两次。主要研究方向为大数据、云计算、数据库及存储。 陈河堆 现任中兴通讯数据库平台首席专家,PostgreSQL中文社区核心组成员,拥有十几年数据库研发工作经验,曾参与公司自研高性能内存数据库、分布式数据库和分布式缓存等系统的设计和开发,近年来醉心于钻研开源数据库技术,热心推动PostgreSQL在中国地区的推广和应用,积极参与PostgreSQL中文社区系列活动。

网友热评

黑鸟: 基本上是全抄官方文档,完全没有自己的思考,还好提前看了电子版,不然买了纸质版,又是一本吃灰书 冰语霜夜: 官方文档的阉割版,非常适合小白具体认识数据库知识

图书目录

目录 - ------------------第1篇准备 - 第1章初识PostgreSQL2 1.1PostgreSQL的起源2 1.2PostgreSQL简介3 -1.2.1基本概念3 -1.2.2存储体系结构4 -1.2.3进程体系架构6 1.3PostgreSQL10版本的新特性6 1.4小结7 第2章安装和启动PostgreSQL8 2.1安装PostgreSQL8 -2.1.1在Windows中安装PostgreSQL8 -2.1.2在Linux中安装PostgreSQL12 -2.1.3源码安装PostgreSQL14 2.2初始化数据库17 2.3数据库的基本配置18 -2.3.1配置数据库监听IP和端口18 -2.3.2配置数据库错误日志18 2.4启动、停止、查看数据库18 -2.4.1启动数据库18 -2.4.2停止数据库19 -2.4.3查看数据库状态19 2.5小结19 - ------------------第2篇入门 - 第3章创建数据库和表21 3.1认识SQL语言21 -3.1.1SQL语句类型21 -3.1.2SQL数据类型21 3.2使用交互式终端psql22 -3.2.1连接数据库22 -3.2.2常用命令23 -3.2.3使用技巧26 3.3表空间的创建、修改和删除27 -3.3.1【实例1】创建表空间27 -3.3.2【实例2】修改表空间29 -3.3.3【实例3】删除表空间29 3.4数据库的创建、修改和删除30 -3.4.1【实例4】创建数据库30 -3.4.2【实例5】修改数据库31 -3.4.3【实例6】删除数据库32 3.5创建数据表32 -3.5.1创建表的语法格式32 -3.5.2使用CHECK约束35 -3.5.3使用非空约束36 -3.5.4使用唯一性约束36 -3.5.5使用主键约束37 -3.5.6使用默认约束38 -3.5.7使用外键约束38 -3.5.8【实例7】设置表的属性值自动增加40 -3.5.9【实例8】查看表结构41 3.6修改数据表42 -3.6.1【实例9】修改表名42 -3.6.2【实例10】修改字段名43 -3.6.3【实例11】添加字段43 -3.6.4【实例12】删除字段44 -3.6.5【实例13】删除表的外键约束44 3.7删除数据表46 -3.7.1【实例14】删除没有被关联的表46 -3.7.2【实例15】删除被其他表关联的主表46 3.8数据的插入、修改和删除47 -3.8.1【实例16】向表中插入数据47 -3.8.2【实例17】修改表中的数据48 -3.8.3【实例18】删除表中的数据49 3.9数据的简单查询50 -3.9.1【实例19】创建最简单的单表查询50 -3.9.2【实例20】创建带过滤条件的查询50 3.10小结51 - 第4章数据类型及其运算符52 4.1数值类型52 -4.1.1整数类型52 -4.1.2任意精度数字类型53 -4.1.3浮点类型53 -4.1.4序列类型54 -4.1.5货币类型55 -4.1.6【实例21】使用数学运算符55 4.2字符串类型56 -4.2.1字符串类型分类57 -4.2.2使用连接运算符57 -4.2.3使用模式匹配运算符58 4.3二进制数据类型60 -4.3.1二进制数据类型简介60 -4.3.2二进制数据的十六进制格式61 -4.3.3二进制数据的转义格式61 4.4日期类型和时间类型61 -4.4.1日期类型和时间类型分类61 -4.4.2日期类型和时间类型输入格式62 -4.4.3日期类型和时间类型输出格式64 -4.4.4时区64 -4.4.5使用日期类型和时间类型运算符65 4.5布尔类型66 -4.5.1布尔类型简介66 -4.5.2布尔类型运算符66 4.6位串类型68 -4.6.1位串类型简介68 -4.6.2【实例22】使用位串类型运算符68 4.7枚举类型69 -4.7.1声明枚举类型69 -4.7.2排序69 -4.7.3注意枚举类型安全性70 4.8几何类型71 -4.8.1点(point)71 -4.8.2线(line)72 -4.8.3线段(lseg)72 -4.8.4矩形(box)73 -4.8.5路径(path)74 -4.8.6多边形(polygon)75 -4.8.7圆(circle)75 -4.8.8【实例23】使用几何类型运算符76 4.9JSON数据类型77 -4.9.1JSON数据类型简介77 -4.9.2JSON数据类型的输入/输出语法78 -4.9.3【实例24】使用json运算符79 -4.9.4【实例25】使用jsonb运算符79 4.10范围类型80 -4.10.1内建范围类型80 -4.10.2范围类型的边界81 -4.10.3范围值的输入81 -4.10.4使用范围类型运算符82 -4.10.5【实例26】定义自己的范围类型83 4.11数组类型83 -4.11.1定义数组类型84 -4.11.2输入数组84 -4.11.3访问数组86 -4.11.4修改数组87 -4.11.5查找数组中的内容88 -4.11.6数组运算符89 4.12小结89 第5章函数90 5.1数学函数90 -5.1.1认识数学函数90 -5.1.2【实例27】用数学函数对小数取整93 5.2字符串函数94 -5.2.1认识字符串函数95 -5.2.2认识二进制字符串函数99 -5.2.3【实例28】用format()函数格式化输出101 5.3数据类型格式化函数103 5.4序列函数104 -5.4.1认识序列函数104 -5.4.2【实例29】创建及使用序列函数104 5.5日期函数和时间函数107 -5.5.1认识日期函数和时间函数107 -5.5.2【实例30】用ATTIMEZONE进行时区转换110 -5.5.3【实例31】获取当前的日期和时间111 -5.5.4【实例32】设置延时执行112 5.6位串函数113 -5.6.1认识位串函数113 -5.6.2【实例33】用bit()函数转换整数和位串113 5.7枚举函数114 -5.7.1认识枚举函数114 -5.7.2【实例34】用枚举函数获取枚举类型中的值114 5.8几何函数115 -5.8.1认识几何函数115 -5.8.2【实例35】用area()函数计算几何类型的面积117 5.9JSON函数117 -5.9.1JSON创建函数117 -5.9.2JSON处理函数118 -5.9.3【实例36】用to_json()函数将字符串转换成JSON格式122 -5.9.4【实例37】用json_array_length()函数统计JSON数据类型中的元素个数122 5.10范围函数123 -5.10.1认识范围函数123 -5.10.2【实例38】用range_merge()函数获取一个包含给定范围的最小范围123 -5.10.3【实例39】用upper_inc()函数判断上界是否被包含在范围内123 5.11数组函数124 -5.11.1认识数组函数124 -5.11.2【实例40】用array_position()函数在数组中检索数据125 -5.11.3【实例41】用array_to_string()函数将数组转为字符串126 5.12其他函数126 -5.12.1聚合函数126 -5.12.2集合返回函数131 -5.12.3系统信息函数131 -5.12.4系统管理函数133 5.13小结134 第6章查询和修改数据135 6.1SELECT语法135 6.2单表查询136 -6.2.1【实例42】简单查询136 -6.2.2【实例43】等值查询137 -6.2.3【实例44】范围查询137 -6.2.4【实例45】去重138 -6.2.5【实例46】排序140 -6.2.6【实例47】分组140 -6.2.7【实例48】分页141 6.3多表查询142 -6.3.1【实例49】内连接143 -6.3.2【实例50】外连接144 -6.3.3【实例51】交叉连接146 -6.3.4【实例52】多表关联复合查询146 6.4子查询147 -6.4.1【实例53】IN/NOTIN子查询147 -6.4.2【实例54】EXISTS/NOTEXISTS子查询148 -6.4.3【实例55】ANY/SOME/ALL子查询149 6.5模糊匹配查询150 -6.5.1【实例56】LIKE查询150 -6.5.2【实例57】SIMILARTO查询152 6.6查询运算152 -6.6.1【实例58】聚集运算152 -6.6.2【实例59】分组运算154 -6.6.3【实例60】表达式运算156 -6.6.4【实例61】递归查询157 6.7窗口函数158 6.8高级操作162 -6.8.1【实例62】归并数据162 -6.8.2【实例63】批量插入164 -6.8.3【实例64】批量更新165 -6.8.4【实例65】关联更新166 -6.8.5【实例66】批量删除166 -6.8.6【实例67】关联删除166 -6.8.7【实例68】移动数据到历史表167 -6.8.8【实例69】清空表167 6.9小结168 - ------------------第3篇进阶 - 第7章索引170 7.1索引简介170 -7.1.1索引的含义和作用170 -7.1.2索引的分类171 -7.1.3索引的设计原则172 7.2索引操作172 -7.2.1创建索引172 -7.2.2修改索引174 -7.2.3删除索引175 7.3常用索引方法176 -7.3.1多列索引176 -7.3.2组合索引177 -7.3.3唯一索引177 -7.3.4表达式索引178 -7.3.5部分索引178 -7.3.6索引与排序180 7.4索引类型180 -7.4.1B-tree索引180 -7.4.2Hash索引181 -7.4.3GiST索引182 -7.4.4SP-GiST索引184 -7.4.5GIN索引185 -7.4.6BRIN索引186 7.5索引使用案例187 -7.5.1【实例70】用GiST索引提升RANGE类型数据的查询性能187 -7.5.2【实例71】用SP-GiST索引快速查找几何空间数据189 -7.5.3【实例72】用GIN索引快速查找JSON数据190 -7.5.4【实例73】用BRIN索引快速检索时间类型数据192 7.6小结194 - 第8章视图195 8.1为什么使用视图195 8.2普通视图195 -8.2.1创建视图196 -8.2.2使用视图198 8.3物化视图201 -8.3.1物化视图和普通视图的区别201 -8.3.2创建和刷新物化视图201 -8.3.3【实例74】用物化视图优化查询性能203 8.4小结205 - 第9章触发器206 9.1常规触发器206 -9.1.1了解常规触发器206 -9.1.2【实例75】创建触发器208 -9.1.3【实例76】修改触发器211 -9.1.4【实例77】删除触发器212 -9.1.5【实例78】注意数据变更的可见性213 9.2事件触发器214 -9.2.1事件触发器支持的事件214 -9.2.2【实例79】创建一个具有数据库审计功能的事件触发器215 9.3小结217 第10章表继承和表分区218 10.1表继承218 -10.1.1表继承的使用场景218 -10.1.2【实例80】创建表继承219 -10.1.3【实例81】使用表继承221 -10.1.4确定表继承数据来源228 -10.1.5表继承的局限性和注意事项230 10.2表分区231 -10.2.1表分区的使用场景231 -10.2.2表分区的实现方式232 -10.2.3【实例82】创建表分区233 -10.2.4【实例83】使用表分区235 -10.2.5【实例84】维护表分区237 -10.2.6使用约束排除提升查询性能240 -10.2.7表分区注意事项243 10.3小结243 第11章管理用户权限和模式244 11.1了解用户、角色和权限244 11.2管理用户、角色和权限245 -11.2.1【实例85】创建用户245 -11.2.2【实例86】删除用户246 -11.2.3【实例87】创建角色247 -11.2.4【实例88】删除角色249 -11.2.5【实例89】给角色授予权限250 -11.2.6【实例90】使用系统默认角色251 11.3管理数据库模式252 -11.3.1【实例91】使用数据库模式252 -11.3.2【实例92】设置模式的搜索路径253 -11.3.3管理数据库模式权限254 -11.3.4pg_catalog模式254 11.4小结255 第12章配置和管理数据库服务器256 12.1用不同方式进行参数设置256 -12.1.1了解参数格式256 -12.1.2【实例93】通过配置文件设置参数257 -12.1.3【实例94】通过SQL命令设置参数259 -12.1.4【实例95】通过shell命令设置参数261 -12.1.5【实例96】用include方式管理配置文件262 12.2配置postgresql.conf文件的参数262 -12.2.1连接和安全认证参数263 -12.2.2缓存和存储参数264 -12.2.3WAL日志参数266 -12.2.4错误日志参数267 -12.2.5AUTOVACUUM参数274 12.3配置pg_hba.conf文件的参数274 -12.3.1了解不同客户端认证方法275 -12.3.2【实例97】用trust配置客户端认证276 -12.3.3【实例98】用md5配置客户端认证277 -12.3.4【实例99】用cert配置客户端认证277 12.4服务端常用工具277 -12.4.1【实例100】用initdb初始化数据库277 -12.4.2【实例101】用pg_ctl管理数据库服务278 -12.4.3【实例102】用pg_controldata查看控制信息280 -12.4.4【实例103】用pg_rewind同步数据目录282 12.5小结283 第13章备份和恢复数据284 13.1逻辑备份和恢复284 -13.1.1【实例104】用pg_dump工具备份单库单表数据284 -13.1.2【实例105】用pg_restore工具恢复数据287 -13.1.3【实例106】用pg_dumpall工具备份所有库表数据289 -13.1.4【实例107】用psql工具恢复pg_dumpall备份的数据289 13.2物理备份和恢复289 -13.2.1【实例108】用pg_basebackup工具热备份290 -13.2.2【实例109】用基础备份恢复数据292 13.3增量备份和恢复293 -13.3.1【实例110】用归档日志进行增量备份293 -13.3.2【实例111】将数据库状态恢复到指定时间点294 -13.3.3【实例112】恢复到指定事务297 13.4第三方备份恢复工具299 -13.4.1认识pg_rman工具299 -13.4.2【实例113】用pg_rman工具备份数据301 13.5小结304 - ------------------第4篇高阶 - 第14章事务306 14.1事务的基本特性306 -14.1.1事务模型要解决的问题306 -14.1.2事务的四大特性307 -14.1.3【实例114】设置合适的事务隔离级别308 14.2理解事务的实现原理310 -14.2.1WAL机制310 -14.2.2MVCC机制311 -14.2.3Checkpoint机制314 -14.2.4CrashRecovery机制315 -14.2.5事务并发与锁机制316 14.3使用事务319 -14.3.1理解事务语法319 -14.3.2【实例115】用ROLLBACK回滚事务320 -14.3.3【实例116】用COMMIT提交事务321 -14.3.4【实例117】用SAVEPOINT回滚部分事务321 14.4小结323 第15章优化SQL语句324 15.1理解查询优化器的工作原理324 -15.1.1SQL语句执行过程324 -15.1.2了解查询树325 -15.1.3了解逻辑优化326 -15.1.4逻辑优化:对子查询进行优化326 -15.1.5逻辑优化:条件表达式优化及等价谓词重写优化327 -15.1.6逻辑优化:外连接优化328 -15.1.7了解物理优化329 15.1.8代价估算332 15.2查看并分析执行计划334 -15.2.1EXPLAIN命令介绍334 -15.2.2EXPLAIN输出解读336 -15.2.3【实例118】用EXPLAIN分析执行计划338 15.3常见SQL语句优化343 -15.3.1【实例119】用索引避免表扫描343 -15.3.2【实例120】子查询优化345 15.3.3【实例121】表连接优化347 -15.3.4【实例122】用UNIONALL代替UNION349 -15.3.5【实例123】避免使用“SELECT*”350 -15.3.6【实例124】为jsonb字段建立合适的索引351 15.4小结352 第16章优化数据库服务端性能353 16.1了解数据库性能指标353 -16.1.1衡量数据库性能的指标353 -16.1.2影响数据库性能的硬件因素353 -16.1.3【实例125】用nmon工具监控Linux性能356 16.2优化存储性能359 -16.2.1物理存储介质简介359 -16.2.2存储路径隔离原则361 16.3优化数据库配置参数366 -16.3.1优化内存资源类参数366 -16.3.2优化脏页刷写类参数368 -16.3.3优化空间回收类参数369 -16.3.4优化WAL日志文件相关参数372 -16.3.5数据库性能视图376 16.4小结383 第17章PL/pgSQL服务端编程384 17.1PL/pgSQL编程基础384 -17.1.1PL/pgSQL的结构384 -17.1.2PL/pgSQL的声明386 -17.1.3PL/pgSQL的表达式389 -17.1.4PL/pgSQL的基本语句389 -17.1.5PL/pgSQL的控制结构392 -17.1.6PL/pgSQL的游标399 -17.1.7PL/pgSQL的错误和消息401 -17.1.8PL/pgSQL的触发器函数402 17.2PL/pgSQL编程实战405 -17.2.1PL/pgSQL开发建议405 -17.2.2【实例126】编写一个自定义用户函数407 -17.2.3【实例127】从PL/SQL移植到PL/pgSQL409 17.3小结411 第18章高可用方案412 18.1如何实现高可用方案412 -18.1.1基本概念412 -18.1.2实现自动故障接管(Failover)414 -18.1.3WAL归档与流复制415 -18.1.4防止WAL日志文件被过早删除418 -18.1.5巧用级联复制419 -18.1.6同步复制与读写分离420 18.2【实例128】基于Corosync+Pacemaker的方案424 -18.2.1初识Corosync和Pacemaker424 -18.2.2Corosync和Pacemaker的安装426 -18.2.3基于Corosync+Pacemaker的高可用方案及实现430 18.3【实例129】基于Stolon的方案436 -18.3.1Stolon方案架构及特性436 -18.3.2Stolon方案安装配置及【实例437 18.4小结443

深入浅出PostgreSQL.epub"网盘下载"

版权说明

1、本站不保存、不存储任何实质资源,以上二维码指向为网盘资源链接,其内容归对应版权方所有
2、如有侵犯版权的情况,请点击下面举报/反馈按钮反馈或发送邮件[email protected]投诉说明情况
3、我们核实后将第一时间删除相关页面内容,谢谢理解和配合

这些人下载过 (12)
  • 爷拒绝恋爱
  • 无从弥补
  • 囚人不合
  • 猪木狼马峰
  • 凉风有信
  • 执手莞尔
  • 最後只有我陪海哭
  • 你好胸
  • 晨微光
  • 空白的我
  • 贱是我对你的唯一
  • 灵魂键盘手
最新回复 (0)

    暂无评论

请先登录后发表评论!

返回
请先登录后发表评论!