Contents

  • 前言
  • 第一篇 准备篇
    • 第1章 PostgreSQL简介
      • 1.1 什么是PostgreSQL
        • 1.1.1 PostgreSQL的发展历史
        • 1.1.2 PostgreSQL数据库的优势
        • 1.1.3 PostgreSQL应用现状和发展趋势
      • 1.2 PostgreSQL数据库与其他数据库的对比
        • 1.2.1 PostgreSQL与MySQL数据库的对比 id: 6621aa0a-b4b4-4a6e-bdac-886a4552dc82
        • 1.2.2 PostgreSQL与Oracle数据库的对比
      • 1.3 小结
    • 第2章 PostgreSQL的安装与配置
      • 2.1 从发行版本安装
        • 2.1.1 Red Hat/CentOS下的安装方法
        • 2.1.2 Windows下的安装方法
        • 2.1.3 从发行版本安装总结
      • 2.2 从源码安装
        • 2.2.1 编译安装过程简介
        • 2.2.2 下载源代码
        • 2.2.3 编译及安装
        • 2.2.4 PostgreSQL的配置
        • 2.2.5 创建数据库实例
        • 2.2.6 安装contrib目录下的工具
        • 2.2.7 启动和停止数据库
        • 2.2.8 编译安装过程中的常见问题及解决方法
      • 2.3 PostgreSQL的简单配置
        • 2.3.1 pg_hba.conf的配置
        • 2.3.2 修改监听的IP和端口
        • 2.3.3 数据库日志相关参数
        • 2.3.4 内存参数的设置
      • 2.4 PostgreSQL的安装技巧
        • 2.4.1 不想把数据库实例创建到“/var/lib/pgsql”目录下
        • 2.4.2 如何使用较大的数据块提高I/O性能
        • 2.4.3 打开数据块的checksum功能
      • 2.5 小结
    • 第3章 SQL入门
      • 3.1 SQL语句语法简介
        • 3.1.1 语句的分类
        • 3.1.2 词法结构
      • 3.2 DDL语句
        • 3.2.1 建表语句
        • 3.2.2 删除表语句
      • 3.3 DML语句
        • 3.3.1 插入语句
        • 3.3.2 更新语句
        • 3.3.3 删除语句
      • 3.4 查询语句
        • 3.4.1 单表查询语句
        • 3.4.2 过滤条件的查询
        • 3.4.3 排序
        • 3.4.4 分组查询
        • 3.4.5 多表关联查询
        • 3.4.6 子查询
      • 3.5 其他SQL语句
        • 3.5.1 INSERT…SELECT语句
        • 3.5.2 UNION语句
        • 3.5.3 TRUNCATE TABLE语句
      • 3.6 小结
  • 第二篇 基础篇
    • 第4章 psql工具
      • 4.1 psql介绍
      • 4.2 psql的简单使用
      • 4.3 psql的常用命令
        • 4.3.1 “ h”命令
        • 4.3.2 “ d”命令
        • 4.3.3 指定客户端字符集的命令
        • 4.3.4 格式化输出的 pset命令
        • 4.3.5 “ x”命令
        • 4.3.6 执行存储在外部文件中的SQL命令
        • 4.3.7 编辑命令
        • 4.3.8 输出信息的“ echo”命令
        • 4.3.9 其他命令
      • 4.4 psql的使用技巧
        • 4.4.1 历史命令与补全功能
        • 4.4.2 自动提交技巧
        • 4.4.3 如何得到psql中快捷命令执行的实际SQL
      • 4.5 小结
    • 第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.3.3 精确的小数类型
        • 5.3.4 浮点数类型
        • 5.3.5 序列类型
        • 5.3.6 货币类型
        • 5.3.7 数学函数和操作符
      • 5.4 字符串类型
        • 5.4.1 字符串类型介绍
        • 5.4.2 字符串函数和操作符
      • 5.5 二进制数据类型
        • 5.5.1 二进制数据类型介绍
        • 5.5.2 二进制数据类型转义表示
        • 5.5.3 二进制数据类型的函数
      • 5.6 位串类型
        • 5.6.1 位串类型介绍
        • 5.6.2 位串类型的使用方法
        • 5.6.3 位串的操作符及函数
      • 5.7 日期/时间类型
        • 5.7.1 日期/时间类型介绍
        • 5.7.2 日期输入
        • 5.7.3 时间输入
        • 5.7.4 特殊值
        • 5.7.5 函数和操作符列表
        • 5.7.6 时间函数
        • 5.7.7 extract和date_part函数
      • 5.8 枚举类型
        • 5.8.1 枚举类型的使用
        • 5.8.2 枚举类型说明
        • 5.8.3 枚举类型的函数
      • 5.9 几何类型
        • 5.9.1 几何类型概况
        • 5.9.2 几何类型的输入
        • 5.9.3 几何类型的操作符
        • 5.9.4 几何类型的函数
      • 5.10 网络地址类型
        • 5.10.1 网络地址类型概况
        • 5.10.2 inet与cidr类型
        • 5.10.3 macaddr类型
        • 5.10.4 网络地址类型的操作符
        • 5.10.5 网络地址类型的函数
      • 5.11 复合类型
        • 5.11.1 复合类型的定义
        • 5.11.2 复合类型的输入
        • 5.11.3 访问复合类型
        • 5.11.4 修改复合类型
        • 5.11.5 复合类型的输入输出
      • 5.12 xml类型
        • 5.12.1 xml类型的输入
        • 5.12.2 字符集的问题
        • 5.12.3 xml类型函数
      • 5.13 JSON类型
        • 5.13.1 JSON类型简介
        • 5.13.2 JSON类型的输入与输出
        • 5.13.3 JSON类型的操作符
        • 5.13.4 JSON类型的函数
        • 5.13.5 JSON类型的索引
      • 5.14 Range类型
        • 5.14.1 Range类型简介
        • 5.14.2 创建Range类型
        • 5.14.3 Range类型的输入与输出
        • 5.14.4 Range类型的操作符
        • 5.14.5 Range类型的函数
        • 5.14.6 Range类型的索引和约束
      • 5.15 数组类型
        • 5.15.1 数组类型的声明
        • 5.15.2 如何输入数组值
        • 5.15.3 访问数组
        • 5.15.4 修改数组
        • 5.15.5 数组的操作符
        • 5.15.6 数组的函数
      • 5.16 伪类型
      • 5.17 其他类型
        • 5.17.1 UUID类型
        • 5.17.2 pg_lsn类型
      • 5.18 小结
    • 第6章 逻辑结构管理
      • 6.1 数据库逻辑结构介绍
      • 6.2 数据库基本操作
      • 6.2.1 创建数据库
      • 6.2.2 修改数据库
      • 6.2.3 删除数据库
      • 6.2.4 常见问题及解答
      • 6.3 模式
      • 6.3.1 什么是模式
      • 6.3.2 模式的使用
      • 6.3.3 公共模式
      • 6.3.4 模式的搜索路径
      • 6.3.5 模式的权限
      • 6.3.6 模式的可移植性
      • 6.4 表
      • 6.4.1 创建表
      • 6.4.2 表的存储属性
      • 6.4.3 临时表
      • 6.4.4 UNLOGGED表
      • 6.4.5 默认值
      • 6.4.6 约束
      • 6.4.7 修改表
      • 6.4.8 表继承
      • 6.4.9 通过表继承实现分区表
      • 6.4.10 声明式分区
      • 6.5 触发器
      • 6.5.1 创建触发器
      • 6.5.2 语句级触发器与行级触发器
      • 6.5.3 BEFORE触发器与AFTER触发器
      • 6.5.4 删除触发器
      • 6.5.5 触发器的行为
      • 6.5.6 触发器函数中的特殊变量
      • 6.6 事件触发器
      • 6.6.1 创建事件触发器
      • 6.6.2 修改事件触发器
      • 6.7 表空间
      • 6.7.1 什么是表空间
      • 6.7.2 表空间的使用方法
      • 6.8 视图
      • 6.8.1 什么是视图
      • 6.8.2 创建视图
      • 6.8.3 可更新视图
      • 6.9 索引
      • 6.9.1 索引简介
      • 6.9.2 索引的分类
      • 6.9.3 创建索引
      • 6.9.4 并发创建索引
      • 6.9.5 修改索引
      • 6.9.6 删除索引
      • 6.10 用户及权限管理
      • 6.10.1 用户和角色
      • 6.10.2 创建用户和角色
      • 6.10.3 权限的管理
      • 6.10.4 函数和触发器的权限
      • 6.10.5 权限的总结
      • 6.10.6 权限的示例
      • 6.11 事务、并发和锁
      • 6.11.1 什么是ACID
      • 6.11.2 DDL事务
      • 6.11.3 事务的使用方法
      • 6.11.4 SAVEPOINT
      • 6.11.5 事务隔离级别
      • 6.11.6 两阶段提交
      • 6.11.7 锁机制
      • 6.11.8 死锁及防范
      • 6.11.9 表级锁命令LOCK TABLE
      • 6.11.10 行级锁命令
      • 6.11.11 锁的查看
      • 6.12 小结
    • 第7章 PostgreSQL的核心架构
      • 7.1 进程及内存结构
      • 7.1.1 进程和内存架构图
      • 7.1.2 主进程Postmaster介绍
      • 7.1.3 Logger系统日志进程介绍
      • 7.1.4 BgWriter后台写进程介绍
      • 7.1.5 WalWriter预写式日志写进程介绍
      • 7.1.6 PgArch归档进程
      • 7.1.7 AutoVacuum自动清理进程
      • 7.1.8 PgStat统计数据收集进程
      • 7.1.9 共享内存
      • 7.1.10 本地内存
      • 7.2 存储结构
      • 7.2.1 逻辑存储结构
      • 7.2.2 软件目录结构
      • 7.2.3 物理存储结构
      • 7.2.4 表空间的目录
      • 7.3 应用程序访问接口
      • 7.3.1 访问接口总体图
      • 7.3.2 不同编程语言的PostgreSQL驱动介绍
      • 7.4 小结
    • 第8章 服务管理
      • 8.1 服务的启停及原理
      • 8.1.1 服务的启停方法
      • 8.1.2 pg_ctl工具
      • 8.1.3 信号
      • 8.1.4 postgres及单用户模式
      • 8.2 服务配置介绍
      • 8.2.1 配置参数
      • 8.2.2 连接配置项
      • 8.2.3 内存配置项
      • 8.2.4 预写式日志的配置项
      • 8.2.5 错误报告和日志项
      • 8.3 访问控制配置文件
      • 8.3.1 pg_hba.conf文件
      • 8.3.2 认证方法介绍
      • 8.3.3 认证方法实战
      • 8.4 备份和还原
      • 8.4.1 逻辑备份
      • 8.4.2 pg_dump命令
      • 8.4.3 pg_restore命令
      • 8.4.4 pg_dump和pg_restore应用示例
      • 8.4.5 物理备份
      • 8.4.6 使用LVM快照进行热备份
      • 8.5 常用的管理命令
      • 8.5.1 查看系统信息的常用命令
      • 8.5.2 系统维护常用命令
      • 8.6 小结
  • 第三篇 提高篇
    • 第9章 PostgreSQL执行计划
      • 9.1 执行计划的解释
      • 9.1.1 EXPLAIN命令
      • 9.1.2 EXPLAIN输出结果解释
      • 9.1.3 EXPLAIN使用示例
      • 9.1.4 全表扫描
      • 9.1.5 索引扫描
      • 9.1.6 位图扫描
      • 9.1.7 条件过滤
      • 9.1.8 嵌套循环连接
      • 9.1.9 散列连接
      • 9.1.10 合并连接
      • 9.2 与执行计划相关的配置项
      • 9.2.1 ENABLE_*参数
      • 9.2.2 COST基准值参数
      • 9.2.3 基因查询优化的参数
      • 9.2.4 其他执行计划配置项
      • 9.3 统计信息的收集
      • 9.3.1 统计信息收集器的配置项
      • 9.3.2 SQL执行的统计信息输出
      • 9.3.3 手动收集统计信息
      • 9.4 小结
    • 第10章 PostgreSQL中的技术内幕
      • 10.1 表中的系统字段
      • 10.1.1 oid
      • 10.1.2 ctid
      • 10.1.3 xmin、xmax、cmin、cmax
      • 10.2 多版本并发控制
      • 10.2.1 多版本并发控制的原理
      • 10.2.2 PostgreSQL中的多版本并发控制
      • 10.2.3 PostgreSQL多版本的优劣分析
      • 10.3 物理存储结构
      • 10.3.1 PostgreSQL中的术语
      • 10.3.2 数据块结构
      • 10.3.3 Tuple结构
      • 10.3.4 数据块空闲空间管理
      • 10.3.5 可见性映射表文件
      • 10.4 控制文件解密
      • 10.4.1 控制文件介绍
      • 10.4.2 数据库的唯一标识串解密
      • 10.4.3 Checkpoint信息解密
      • 10.4.4 与Standby相关的信息
      • 10.5 WAL文件解密
      • 10.5.1 WAL文件介绍
      • 10.5.2 WAL文件名的秘密
      • 10.5.3 WAL文件循环复用原理
      • 10.6 CommitLog文件与事务ID技术解密
      • 10.6.1 CommitLog文件介绍
      • 10.6.2 事务ID技术
      • 10.7 实例恢复与热备份原理解密
      • 10.7.1 实例恢复的原理
      • 10.7.2 热备份的原理
      • 10.8 一些技术解密
      • 10.8.1 Index-Only Scans
      • 10.8.2 Heap-Only Tuples
      • 10.9 小结
    • 第11章 PostgreSQL的特色功能
      • 11.1 规则系统
      • 11.1.1 SELECT规则
      • 11.1.2 更新规则
      • 11.1.3 规则和权限
      • 11.1.4 规则和命令状态
      • 11.1.5 规则与触发器的比较
      • 11.2 模式匹配和正则表达式
      • 11.2.1 PostgreSQL中的模式匹配和正则表达式
      • 11.2.2 传统SQL的LIKE操作符
      • 11.2.3 SIMILAR TO正则表达式
      • 11.2.4 POSIX正则表达式
      • 11.2.5 模式匹配函数substring
      • 11.3 LISTEN与NOTIFY命令
      • 11.3.1 LISTEN与NOTIFY的简单示例
      • 11.3.2 LISTEN与NOTIFY的相关命令
      • 11.3.3 LISTEN与NOTIFY的使用详解
      • 11.4 索引的特色
      • 11.4.1 表达式上的索引
      • 11.4.2 部分索引
      • 11.4.3 GiST索引
      • 11.4.4 SP-GiST索引
      • 11.4.5 GIN索引
      • 11.4.6 BRIN索引
      • 11.5 序列的使用
      • 11.5.1 序列的创建
      • 11.5.2 序列的使用及相关函数
      • 11.5.3 常见问题及解答
      • 11.6 咨询锁的使用
      • 11.6.1 什么是咨询锁
      • 11.6.2 咨询锁的函数及使用
      • 11.6.3 常见问题及解答
      • 11.7 SQL/MED
      • 11.7.1 SQL/MED的介绍
      • 11.7.2 外部数据包装器对象
      • 11.7.3 外部服务器对象
      • 11.7.4 用户映射对象
      • 11.7.5 外部表对象
      • 11.7.6 file_fdw使用实例
      • 11.7.7 postgres_fdw使用实例
      • 11.7.8 oracle_fdw使用实例
      • 11.7.9 odbc_fdw使用实例
      • 11.8 全文检索
      • 11.8.1 全文检索介绍
      • 11.8.2 全文检索入门
      • 11.8.3 使用zhparser做中文全文检索
      • 11.9 数组的特色功能
      • 11.9.1 数组的应用场景介绍
      • 11.9.2 数组的使用技巧
      • 11.10 并行查询功能
      • 11.10.1 并行查询相关的配置参数
      • 11.10.2 支持的并行操作介绍
      • 11.11 小结
    • 第12章 数据库优化
      • 12.1 数据库优化准则和方法
      • 12.1.1 数据库优化准则
      • 12.1.2 优化方法
      • 12.2 硬件知识
      • 12.2.1 CPU及服务器体系结构
      • 12.2.2 内存
      • 12.2.3 硬盘
      • 12.3 文件系统及I/O调优
      • 12.3.1 文件系统的崩溃恢复
      • 12.3.2 Ext2文件系统
      • 12.3.3 Ext3文件系统
      • 12.3.4 Ext4文件系统
      • 12.3.5 XFS文件系统
      • 12.3.6 Barriers I/O
      • 12.3.7 I/O调优的方法
      • 12.3.8 SSD的Trim优化
      • 12.4 性能监控
      • 12.4.1 数据库性能视图
      • 12.4.2 Linux监控工具
      • 12.5 数据库配置优化
      • 12.5.1 内存配置优化
      • 12.5.2 大页内存的配置
      • 12.5.3 VACUUM中的优化
      • 12.5.4 预写式日志写优化
      • 12.5.5 配置的最佳实践
      • 12.6 数据库的逻辑结构优化
      • 12.6.1 表的优化
      • 12.6.2 索引的优化
      • 12.7 SQL的优化
      • 12.7.1 找出慢的SQL
      • 12.7.2 SQL语句的优化技巧
      • 12.8 小结
    • 第13章 Standby数据库的搭建
      • 13.1 Standby数据库原理
      • 13.1.1 PITR原理
      • 13.1.2 WAL日志归档
      • 13.1.3 流复制
      • 13.1.4 Standby数据库的运行原理
      • 13.1.5 建Standby数据库的步骤
      • 13.2 pg_basebackup命令行工具
      • 13.2.1 pg_basebackup介绍
      • 13.2.2 pg_basebackup的命令行参数
      • 13.2.3 pg_basebackup使用示例
      • 13.3 异步流复制Hot Standby的示例
      • 13.3.1 配置环境
      • 13.3.2 主数据库的配置
      • 13.3.3 在Standby上生成基础备份
      • 13.3.4 启动Standby数据库
      • 13.3.5 交换主备库的角色
      • 13.3.6 故障切换
      • 13.4 同步流复制的Standby数据库
      • 13.4.1 同步流复制的架构
      • 13.4.2 同步复制的配置
      • 13.4.3 配置实例
      • 13.5 检查备库及流复制情况
      • 13.5.1 检查异步流复制的情况
      • 13.5.2 检查同步流复制的情况
      • 13.5.3 pg_stat_replication视图详解
      • 13.5.4 查看备库的状态
      • 13.6 Hot Standby的限制
      • 13.6.1 Hot Standby的查询限制
      • 13.6.2 Hot Standby的查询冲突处理
      • 13.7 恢复配置详解
      • 13.7.1 归档恢复配置项
      • 13.7.2 Recovery Target配置
      • 13.7.3 Standby Server配置
      • 13.8 流复制的注意事项
      • 13.8.1 min_wal_size参数的配置
      • 13.8.2 vacuum_defer_cleanup_age参数的配置
      • 13.9 逻辑复制
      • 13.9.1 逻辑复制的介绍
      • 13.9.2 逻辑复制的发布
      • 13.9.3 逻辑复制的订阅
      • 13.9.4 逻辑复制的冲突处理
      • 13.9.5 逻辑复制的限制
      • 13.9.6 逻辑复制的监控与安全
      • 13.9.7 逻辑复制的相关配置参数
      • 13.9.8 逻辑复制的搭建实践
      • 13.10 小结
  • 第四篇 架构篇
    • 第14章 PgBouncer
      • 14.1 PgBouncer介绍
      • 14.2 PgBouncer的相关概念
      • 14.3 PgBouncer的安装方法
      • 14.4 PgBouncer的简单使用
      • 14.4.1 简单配置方法
      • 14.4.2 启动PgBouncer
      • 14.4.3 停止PgBouncer
      • 14.4.4 查看连接池信息
      • 14.5 PgBouncer的配置文件详解
      • 14.5.1 “[databases]”配置
      • 14.5.2 “[pgbouncer]”配置
      • 14.5.3 用户密码文件
      • 14.6 小结
    • 第15章 Slony-I的使用
      • 15.1 Slony-I中的主要概念
      • 15.1.1 集群
      • 15.1.2 节点
      • 15.1.3 复制集合
      • 15.1.4 数据原始生产者、数据提供者和数据订阅者
      • 15.1.5 Slon守护程序
      • 15.1.6 Slonik配置程序
      • 15.2 Slony-I复制的一些限制
      • 15.3 在Linux下安装和配置Slony-I
      • 15.3.1 二进制方式安装Slony-I
      • 15.3.2 源码编译安装Slony-I
      • 15.3.3 配置Slony-I的基本复制
      • 15.3.4 添加和移除表的复制
      • 15.3.5 主备切换
      • 15.4 小结
    • 第16章 Bucardo的使用
      • 16.1 Bucardo的相关概念
      • 16.1.1 Bucardo介绍
      • 16.1.2 Bucardo FAQ
      • 16.1.3 Bucardo同步中定义的概念
      • 16.2 Bucardo的安装方法
      • 16.2.1 Bucardo的安装步骤
      • 16.2.2 安装Test-Simple、ExtUtils-MakeMaker、version
      • 16.2.3 安装DBI及DBD:Pg
      • 16.2.4 安装DBIx-Safe
      • 16.2.5 安装Bucardo源码包
      • 16.2.6 使用yum安装Bucardo
      • 16.3 Bucardo同步配置
      • 16.3.1 示例环境
      • 16.3.2 Bucardo的工作原理
      • 16.3.3 bucardo install
      • 16.3.4 配置同步
      • 16.3.5 Bucardo常用命令
      • 16.4 Bucardo的日常维护
      • 16.4.1 Bucardo的触发器日志清理
      • 16.4.2 临时停止和启动同步的方法
      • 16.4.3 新增表到同步的方法
      • 16.4.4 移除某个表或序列的方法
      • 16.5 小结
    • 第17章 PL/Proxy的使用
      • 17.1 PL/Proxy的相关概念
      • 17.1.1 什么是PL/Proxy
      • 17.1.2 PL/Proxy的特性说明
      • 17.2 PL/Proxy的安装及配置
      • 17.2.1 编译安装
      • 17.2.2 安装规划
      • 17.2.3 配置过程
      • 17.3 PL/Proxy的集群配置详解
      • 17.3.1 Cluster configuration API方式
      • 17.3.2 SQL/MED方式配置集群
      • 17.4 PL/Proxy语言详解
      • 17.4.1 CONNECT
      • 17.4.2 CLUSTER
      • 17.4.3 RUN ON
      • 17.4.4 SPLIT
      • 17.4.5 TARGET
      • 17.5 PL/Proxy的高可用方案
      • 17.5.1 方案介绍
      • 17.5.2 方案架构
      • 17.5.3 具体实施步骤
      • 17.6 小结
    • 第18章 pgpool-II的使用
      • 18.1 pgpool-II的相关概念
      • 18.1.1 什么是pgpool-II
      • 18.1.2 pgpool-II的发展简介
      • 18.1.3 pgpool-II的架构
      • 18.1.4 pgpool-II的工作模式
      • 18.1.5 pgpool-II的程序模块
      • 18.2 pgpool-II的安装方法
      • 18.2.1 安装软件
      • 18.2.2 安装pgpool_regclass
      • 18.2.3 建立insert_lock表
      • 18.2.4 安装pgpool_recovery
      • 18.3 pgpool-II配置快速入门
      • 18.3.1 pgpool-II的配置过程
      • 18.3.2 内置复制模式的示例
      • 18.3.3 流复制的主备模式示例
      • 18.3.4 show命令
      • 18.4 pgpool-II高可用配置方法
      • 18.4.1 pgpool-II高可用切换及恢复的原理
      • 18.4.2 pgpool-II的在线恢复
      • 18.4.3 流复制模式中的故障切换
      • 18.4.4 pgpool-II的健康检查
      • 18.4.5 流复制的主备模式的高可用示例
      • 18.4.6 watchdog的配置
      • 18.5 小结
    • 第19章 Postgres-XC的使用
      • 19.1 Postgres-XC的相关概念
      • 19.1.1 什么是Postgres-XC
      • 19.1.2 Postgres-XC的特点
      • 19.1.3 Postgres-XC的性能
      • 19.1.4 Postgres-XC的组件
      • 19.2 Postgres-XC的安装
      • 19.2.1 源码安装方法
      • 19.2.2 Postgres-XC目录及程序说明
      • 19.3 配置Postgres-XC集群
      • 19.3.1 集群规划
      • 19.3.2 初始化GTM
      • 19.3.3 初始化GTM备库
      • 19.3.4 初始化GTM Proxy
      • 19.3.5 初始化Coordinators、数据节点
      • 19.3.6 启动集群
      • 19.3.7 停止集群
      • 19.3.8 配置集群节点信息
      • 19.4 Postgres-XC的使用
      • 19.4.1 建表详解
      • 19.4.2 使用限制
      • 19.4.3 重新分布数据
      • 19.4.4 增加Coordinator节点的方法
      • 19.4.5 移除Coordinator节点的方法
      • 19.4.6 增加Datanode节点的方法
      • 19.4.7 移除Datanode节点的方法
      • 19.5 小结
    • 第20章 高可用性方案设计
      • 20.1 高可用架构基础
      • 20.1.1 各种高可用架构介绍
      • 20.1.2 服务的可靠性设计
      • 20.1.3 数据可靠性设计
      • 20.2 基于共享存储的高可用方案
      • 20.2.1 SAN存储方案
      • 20.2.2 DRBD方案
      • 20.3 WAL日志同步或流复制同步方案
      • 20.3.1 持续复制归档的Standby方法
      • 20.3.2 异步流复制方案
      • 20.3.3 同步流复制方案
      • 20.4 基于触发器的同步方案
      • 20.4.1 基于触发器的同步方案特点
      • 20.4.2 基于此方案的同步软件介绍
      • 20.5 基于中间件的高可用方案
      • 20.5.1 基于中间件的高可用方案的特点
      • 20.5.2 基本中间件的开源软件介绍
      • 20.6 小结

Comment