本书主要内容
本书系统介绍PostgreSQL的丰富特性,以及生产实践运维中的技巧,全书分为基础篇、核心篇、进阶篇。基础篇包括第1~4章,主要介绍PostgreSQL基础知识,例如安装与配置、客户端工具、数据类型、SQL高级特性等,为读者阅读核心篇和进阶篇做好准备;核心篇包括第5~9章,主要介绍PostgreSQL核心内容,例如体系结构、并行查询、事务与并发控制、分区表等;进阶篇包括第10~18章,主要介绍PostgreSQL进阶内容,相比前两篇进阶篇的难度有一定程度增加,例如性能优化、物理复制、逻辑复制、备份与恢复、高可用、版本升级、扩展模块、Oracle数据库迁移PostgreSQL实战、PostGIS等。本书18章主要内容如下。
第1章:介绍PostgreSQL起源、安装、数据库实例创建、数据库配置、数据库的启动和停止等。
第2章:介绍psql命令行客户端工具的使用和特性,例如psql元命令、psql导入导出数据、使用psql执行脚本、psql的亮点功能等。
第3章:介绍PostgreSQL各种数据类型,包括字符类型、时间/日期类型、布尔类型、网络地址类型、数组类型、范围类型、json/jsonb类型等;同时介绍了数据类型相关函数、操作符、数据类型转换。
第4章:主要介绍PostgreSQL支持的一些高级SQL特性,例如WITH查询、批量插入、RETURNING返回DML修改的数据、UPSERT、数据抽样、聚合函数、窗口函数等。
第5章:简单介绍PostgreSQL的逻辑结构和物理结构,以及PostgreSQL的守护进程、服务进程和辅助进程。
第6章:介绍PostgreSQL并行查询相关配置与应用,以及多表关联中并行的使用。
第7章:介绍事务的基本概念、性质和事务隔离级别,以及PostgreSQL多版本并发控制的原理和机制。
第8章:介绍传统分区表和内置分区表的部署、分区维护和性能测试。
第9章:介绍PostgreSQL的NoSQL特性,以及PostgreSQL全文检索。
第10章:简单介绍了服务器硬件、操作系统配置对性能的影响,介绍了一些常用的Linux性能监控工具,并着重介绍了对性能影响较大的几个方面,以及性能优化方案。
第11章:着重介绍PostgreSQL内置的测试工具pgbench,以及如何使用pgbench的内置脚本和自定义脚本进行基准测试。
第12章:主要介绍PostgreSQL物理复制和逻辑复制,并结合笔者在数据库维护过程中的实践经验分享了三个典型的流复制维护生产案例。
第13章:重点介绍PostgreSQL物理备份、增量备份,同时演示了数据库恢复的几种场景。
第14章:介绍两种高可用方案,一种是基于Pgpool-II和异步流复制的高可用方案,另一种是基于Keepalived和异步流复制的高可用方案。
第15章:介绍PostgreSQL版本命名规则、支撑策略、历史版本演进,介绍了小版本升级,最后重点介绍了大版本升级的三种方式。
第16章:主要介绍一些常见的外部扩展,例如file_fdw、pg_stat_statements、auto_explain、postgres_fdw,并重点介绍Citus外部扩展。
第17章:从实际案例出发,分享了一个Oracle数据库迁移到PostgreSQL数据库的实际项目。
第18章:简单介绍PostGIS部署、几何对象的输入、输出、存储、运算,最后介绍了PostGIS的一个典型应用场景:圈人与地理围栏。