互联网
类型
7.6
豆瓣评分
可以朗读
语音朗读
469千字
字数
2018-04-01
发行日期
展开全部
主编推荐语
一本值得存放于身旁的PostgreSQL参考书,基于最新的PostgreSQL 10版本。
内容简介
本书由数据库专业开发人员撰写,系统介绍PostgreSQL10的丰富特性,及其在生产实践运维中的技巧,全书分为基础篇、核心篇、进阶篇,共18章。
基础篇包括第1~4章,主要介绍PostgreSQL基础知识,例如安装与配置、客户端工具、数据类型、SQL高级特性等,为读者阅读核心篇和进阶篇做好准备;核心篇包括第5-9章,主要介绍PostgreSQL核心内容,例如体系结构、并行查询、事务与并发控制、分区表等;进阶篇包括第10~18章,主要介绍PostgreSQL高级内容,例如性能优化、物理复制、逻辑复制、备份与恢复、高可用、版本升级、扩展模块、Oracle数据库迁移PostgreSQL实战、PostGIS等。
目录
- 版权信息
- 序言
- 前言
- 本书主要内容
- 本书特点
- 读者对象
- 勘误和支持
- 致谢
- 基础篇
- 第1章 安装与配置基础
- 1.1 初识PostgreSQL
- 1.1.1 PostgreSQL的特点
- 1.1.2 许可
- 1.1.3 邮件列表和讨论区
- 1.2 安装PostgreSQL
- 1.2.1 通过yum源安装
- 1.2.2 通过源码编译安装
- 1.2.3 设置一个软链接
- 1.3 客户端程序和服务器程序
- 1.3.1 客户端程序
- 1.3.2 服务器程序
- 1.4 创建数据库实例
- 1.4.1 创建操作系统用户
- 1.4.2 创建数据目录
- 1.4.3 初始化数据目录
- 1.5 启动和停止数据库服务器
- 1.5.1 使用service方式
- 1.5.2 使用pg_ctl进行管理
- 1.5.3 其他启动和关闭数据库服务器的方式
- 1.5.4 配置开机启动
- 1.6 数据库配置基础
- 1.6.1 配置文件的位置
- 1.6.2 pg_hba.conf
- 1.6.3 postgresql.conf
- 1.6.4 允许远程访问数据库
- 1.7 本章小结
- 第2章 客户端工具
- 2.1 pgAdmin 4简介
- 2.1.1 pgAdmin 4安装
- 2.1.2 pgAdmin 4使用
- 2.2 psql功能及应用
- 2.2.1 使用psql连接数据库
- 2.2.2 psql元命令介绍
- 2.2.3 psql导入、导出表数据
- 2.2.4 psql的语法和选项介绍
- 2.2.5 psql执行sql脚本
- 2.2.6 psql如何传递变量到SQL
- 2.2.7 使用psql定制日常维护脚本
- 2.2.8 psql亮点功能
- 2.3 本章小结
- 第3章 数据类型
- 3.1 数字类型
- 3.1.1 数字类型列表
- 3.1.2 数字类型操作符和数学函数
- 3.2 字符类型
- 3.2.1 字符类型列表
- 3.2.2 字符类型函数
- 3.3 时间/日期类型
- 3.3.1 时间/日期类型列表
- 3.3.2 时间/日期类型操作符
- 3.3.3 时间/日期类型常用函数
- 3.4 布尔类型
- 3.5 网络地址类型
- 3.5.1 网络地址类型列表
- 3.5.2 网络地址操作符
- 3.5.3 网络地址函数
- 3.6 数组类型
- 3.6.1 数组类型定义
- 3.6.2 数组类型值输入
- 3.6.3 查询数组元素
- 3.6.4 数组元素的追加、删除、更新
- 3.6.5 数组操作符
- 3.6.6 数组函数
- 3.7 范围类型
- 3.7.1 范围类型列表
- 3.7.2 范围类型边界
- 3.7.3 范围类型操作符
- 3.7.4 范围类型函数
- 3.7.5 给范围类型创建索引
- 3.8 json/jsonb类型
- 3.8.1 json类型简介
- 3.8.2 查询json数据
- 3.8.3 jsonb与json差异
- 3.8.4 jsonb与json操作符
- 3.8.5 jsonb与json函数
- 3.8.6 jsonb键/值的追加、删除、更新
- 3.9 数据类型转换
- 3.9.1 通过格式化函数进行转换
- 3.9.2 通过CAST函数进行转换
- 3.9.3 通过::操作符进行转换
- 3.10 本章小结
- 第4章 SQL高级特性
- 4.1 WITH查询
- 4.1.1 复杂查询使用CTE
- 4.1.2 递归查询使用CTE
- 4.2 批量插入
- 4.2.1 方式一:INSERT INTO...SELECT...
- 4.2.2 方式二:INSERT INTO VALUES(),(),…()
- 4.2.3 方式三:COPY或\COPY元命令
- 4.3 RETURNING返回修改的数据
- 4.3.1 RETURNING返回插入的数据
- 4.3.2 RETURNING返回更新后数据
- 4.3.3 RETURNING返回删除的数据
- 4.4 UPSERT
- 4.4.1 UPSERT场景演示
- 4.4.2 UPSERT语法
- 4.5 数据抽样
- 4.5.1 SYSTEM抽样方式
- 4.5.2 BERNOULLI抽样方式
- 4.6 聚合函数
- 4.6.1 string_agg函数
- 4.6.2 array_agg函数
- 4.7 窗口函数
- 4.7.1 窗口函数语法
- 4.7.2 avg()OVER()
- 4.7.3 row_number()
- 4.7.4 rank()
- 4.7.5 dense_rank()
- 4.7.6 lag()
- 4.7.7 first_value()
- 4.7.8 last_value()
- 4.7.9 nth_value()
- 4.7.10 窗口函数别名的使用
- 4.8 本章小结
- 核心篇
- 第5章 体系结构
- 5.1 逻辑和物理存储结构
- 5.1.1 逻辑存储结构
- 5.1.2 物理存储结构
- 5.2 进程结构
- 5.2.1 守护进程与服务进程
- 5.2.2 辅助进程
- 5.3 内存结构
- 5.3.1 本地内存
- 5.3.2 共享内存
- 5.4 本章小结
- 第6章 并行查询
- 6.1 并行查询相关配置参数
- 6.2 并行扫描
- 6.2.1 并行顺序扫描
- 6.2.2 并行索引扫描
- 6.2.3 并行index-only扫描
- 6.2.4 并行bitmap heap扫描
- 6.3 并行聚合
- 6.4 多表关联
- 6.4.1 Nested loop多表关联
- 6.4.2 Merge join多表关联
- 6.4.3 Hash join多表关联
- 6.5 本章小结
- 第7章 事务与并发控制
- 7.1 事务和并发控制的概念
- 7.1.1 事务的基本概念和性质
- 7.1.2 并发引发的现象
- 7.1.3 ANSI SQL标准的事务隔离级别
- 7.2 PostgreSQL的事务隔离级别
- 7.2.1 查看和设置数据库的事务隔离级别
- 7.2.2 修改全局的事务隔离级别
- 7.2.3 查看当前会话的事务隔离级别
- 7.2.4 设置当前会话的事务隔离级别
- 7.2.5 设置当前事务的事务隔离级别
- 7.3 PostgreSQL的并发控制
- 7.3.1 基于锁的并发控制
- 7.3.2 基于多版本的并发控制
- 7.3.3 通过pageinspect观察MVCC
- 7.3.4 使用pg_repack解决表膨胀问题
- 7.3.5 支持事务的DDL
- 7.4 本章小结
- 第8章 分区表
- 8.1 分区表的意义
- 8.2 传统分区表
- 8.2.1 继承表
- 8.2.2 创建分区表
- 8.2.3 使用分区表
- 8.2.4 查询父表还是子表
- 8.2.5 constraint_exclusion参数
- 8.2.6 添加分区
- 8.2.7 删除分区
- 8.2.8 分区表相关查询
- 8.2.9 性能测试
- 8.2.10 传统分区表注意事项
- 8.3 内置分区表
- 8.3.1 创建分区表
- 8.3.2 使用分区表
- 8.3.3 内置分区表原理探索
- 8.3.4 添加分区
- 8.3.5 删除分区
- 8.3.6 性能测试
- 8.3.7 constraint_exclusion参数
- 8.3.8 更新分区数据
- 8.3.9 内置分区表注意事项
- 8.4 本章小结
- 第9章 PostgreSQL的NoSQL特性
- 9.1 为jsonb类型创建索引
- 9.2 json、jsonb读写性能测试
- 9.2.1 创建json、jsonb测试表
- 9.2.2 json、jsonb表写性能测试
- 9.2.3 json、jsonb表读性能测试
- 9.3 全文检索对json和jsonb数据类型的支持
- 9.3.1 PostgreSQL全文检索简介
- 9.3.2 json、jsonb全文检索实践
- 9.4 本章小结
- 进阶篇
- 第10章 性能优化
- 10.1 服务器硬件
- 10.2 操作系统优化
- 10.2.1 常用Linux性能工具
- 10.2.2 Linux系统的I/O调度算法
- 10.2.3 预读参数调整
- 10.2.4 内存的优化
- 10.3 数据库调优
- 10.3.1 全局参数调整
- 10.3.2 统计信息和查询计划
- 10.3.3 索引管理与维护
- 10.4 本章小结
- 第11章 基准测试与pgbench
- 11.1 关于基准测试
- 11.1.1 基准测试的常见使用场景
- 11.1.2 基准测试衡量指标
- 11.1.3 基准测试的原则
- 11.2 使用pgbench进行测试
- 11.2.1 pgbench的测试结果报告
- 11.2.2 通过内置脚本进行测试
- 11.2.3 使用自定义脚本进行测试
- 11.2.4 其他选项
- 11.3 本章小结
- 第12章 物理复制和逻辑复制
- 12.1 异步流复制
- 12.1.1 以拷贝数据文件方式部署流复制
- 12.1.2 以pg_basebackup方式部署流复制
- 12.1.3 查看流复制同步方式
- 12.2 同步流复制
- 12.2.1 synchronous_commit参数详解
- 12.2.2 配置同步流复制
- 12.2.3 同步流复制的典型“陷阱”
- 12.3 单实例、异步流复制、同步流复制性能测试
- 12.3.1 读性能测试
- 12.3.2 写性能测试
- 12.4 流复制监控
- 12.4.1 pg_stat_replication
- 12.4.2 监控主备延迟
- 12.4.3 pg_stat_wal_receiver
- 12.4.4 相关系统函数
- 12.5 流复制主备切换
- 12.5.1 判断主备角色的五种方法
- 12.5.2 主备切换之文件触发方式
- 12.5.3 主备切换之pg_ctl promote方式
- 12.5.4 pg_rewind
- 12.6 延迟备库
- 12.6.1 延迟备库的意义
- 12.6.2 延迟备库部署
- 12.6.3 recovery_min_apply_delay参数对同步复制的影响
- 12.7 同步复制优选提交
- 12.7.1 synchronous_standby_names参数详解
- 12.7.2 基于优先级的同步备库
- 12.7.3 基于Quorum的同步备库
- 12.8 级联复制
- 12.8.1 级联复制物理架构
- 12.8.2 级联复制部署
- 12.9 流复制维护生产案例
- 12.9.1 案例一:主库上创建表空间时备库宕机
- 12.9.2 案例二:备库查询被中止
- 12.9.3 案例三:主库上的WAL被覆盖导致备库不可用
- 12.10 逻辑复制
- 12.10.1 逻辑解析
- 12.10.2 逻辑复制架构
- 12.10.3 逻辑复制部署
- 12.10.4 逻辑复制DML数据验证
- 12.10.5 逻辑复制添加表、删除表
- 12.10.6 逻辑复制启动、停止
- 12.10.7 逻辑复制配置注意事项和限制
- 12.10.8 逻辑复制延迟测试
- 12.11 本章小结
- 第13章 备份与恢复
- 13.1 备份与恢复概述
- 13.2 增量备份
- 13.2.1 开启WAL归档
- 13.2.2 创建基础备份
- 13.3 指定时间和还原点的恢复
- 13.3.1 恢复到最近时间点
- 13.3.2 恢复到指定时间点
- 13.3.3 恢复到指定还原点
- 13.3.4 恢复到指定事务
- 13.3.5 恢复到指定时间线
- 13.4 SQL转储和文件系统级别的备份
- 13.4.1 SQL转储
- 13.4.2 文件系统级别的备份
- 13.5 本章小结
- 第14章 高可用
- 14.1 Pgpool-II+异步流复制实现高可用
- 14.1.1 pgpool部署架构图
- 14.1.2 pgpool部署
- 14.1.3 PCP管理接口配置
- 14.1.4 pgpool方案高可用测试
- 14.1.5 pgpool方案常见错误处理
- 14.2 基于Keepalived+异步流复制实现高可用
- 14.2.1 Keepalived+异步流复制部署架构图
- 14.2.2 Keepalived+异步流复制高可用方案部署
- 14.2.3 Keepalived配置
- 14.2.4 Keepalived方案高可用测试
- 14.3 本章小结
- 第15章 版本升级
- 15.1 版本介绍
- 15.2 小版本升级
- 15.3 大版本升级
- 15.3.1 通过pg_dumpall进行大版本升级
- 15.3.2 通过pg_upgrade进行大版本升级
- 15.3.3 使用pglogical升级大版本
- 15.4 本章小结
- 第16章 扩展模块
- 16.1 CREATE EXTENSION
- 16.2 pg_stat_statements
- 16.3 auto_explain
- 16.4 pg_prewarm
- 16.5 file_fdw
- 16.5.1 SQL/MED简介
- 16.5.2 file_fdw部署
- 16.5.3 使用file_fdw分析数据库日志
- 16.6 postgres_fdw
- 16.6.1 postgres_fdw部署
- 16.6.2 postgres_fdw外部表支持写操作
- 16.6.3 postgres_fdw支持聚合函数下推
- 16.7 Citus
- 16.7.1 Citus特性
- 16.7.2 Citus安装
- 16.7.3 Citus管理
- 16.7.4 创建分布表
- 16.7.5 Citus参数配置
- 16.7.6 Citus常用功能
- 16.8 本章小结
- 第17章 Oracle数据库迁移PostgreSQL实践
- 17.1 项目准备
- 17.2 数据库对象迁移
- 17.3 应用代码改造
- 17.4 数据迁移测试
- 17.5 功能测试和性能测试
- 17.6 生产割接
- 17.7 oracle_fdw部署过程中的常见错误
- 17.8 本章小结
- 第18章 PostGIS
- 18.1 安装与配置
- 18.2 创建GIS数据库
- 18.3 几何对象
- 18.3.1 几何对象的输入
- 18.3.2 几何对象的存储
- 18.3.3 几何对象的输出
- 18.3.4 几何对象的运算
- 18.4 应用场景:圈人与地理围栏
- 18.4.1 空间索引
- 18.4.2 地理围栏
- 18.5 本章小结
展开全部
出版方
机械工业出版社有限公司
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。