以下是针对PostgreSQL 安装与高可用复制扩展成10天的培训课程,每个半天有明确的主题和实践,分为两个主要模块:PostgreSQL 安装与配置和高可用与集群管理。
Day 1: PostgreSQL 单节点安装与基础配置
上午:PostgreSQL 基础介绍与环境准备
- 课程内容:
- PostgreSQL 数据库简介
- PostgreSQL 各版本区别与选择
- 安装前的环境准备与依赖安装(操作系统调优)
- 数据库与操作系统兼容性说明
- 实践练习:
- 准备虚拟机或云环境
- 安装 PostgreSQL 所需依赖(如
libpq-dev
等) - 设置主机名与基本网络配置
下午:PostgreSQL 安装与基本配置
- 课程内容:
- PostgreSQL 安装(源码安装与包管理工具安装)
- 数据目录与配置文件结构介绍
- 配置文件
postgresql.conf
和pg_hba.conf
详解
- 实践练习:
- 在本地或服务器上安装 PostgreSQL
- 配置数据库文件存储路径
- 启动 PostgreSQL 并使用
psql
进行连接测试
Day 2: PostgreSQL 基础管理与优化
上午:用户与角色管理
- 课程内容:
- PostgreSQL 用户与角色体系结构
- 创建、修改、删除用户与角色
- 权限管理与安全配置
- 连接认证机制(密码、SSL、IP 限制)
- 实践练习:
- 创建用户与角色,分配权限
- 配置 IP 限制与 SSL 连接
- 测试不同用户权限下的操作
下午:基础配置与调优
- 课程内容:
- 常用配置项调整:
shared_buffers
、work_mem
、maintenance_work_mem
- 日志配置与监控
- 调整文件系统和内核参数,优化性能
- 常用配置项调整:
- 实践练习:
- 修改
postgresql.conf
,调整性能参数 - 查看并分析日志文件
- 执行简单的数据库性能测试
- 修改
Day 3: 数据备份与恢复策略
上午:数据备份策略
- 课程内容:
- 数据备份方法介绍:逻辑备份与物理备份
- 使用
pg_dump
和pg_dumpall
进行逻辑备份 - 使用
pg_basebackup
进行物理备份 - 配置备份计划
- 实践练习:
- 进行数据库逻辑备份与物理备份
- 设计并实施备份自动化脚本
下午:数据恢复与测试
- 课程内容:
- 数据恢复流程介绍
- 逻辑备份恢复与物理备份恢复
- 使用时间点恢复(PITR)
- 实践练习:
- 恢复数据库到之前备份的状态
- 模拟故障环境并进行数据恢复
Day 4: Streaming Replication(流复制)
上午:主从架构介绍与安装准备
- 课程内容:
- 主从架构与流复制概述
- 流复制与异步/同步复制的区别
- 复制前的数据库环境准备与规划
- 实践练习:
- 配置两台虚拟机或服务器用于主从复制
- 安装基础 PostgreSQL 软件包并配置网络
下午:配置主从流复制
- 课程内容:
- 配置主节点:启用流复制所需参数(
wal_level
,max_wal_senders
,hot_standby
等) - 使用
pg_basebackup
创建从节点 - 配置从节点以连接主节点
- 检查复制状态与同步机制
- 配置主节点:启用流复制所需参数(
- 实践练习:
- 配置主从流复制
- 验证复制是否正常工作,查看同步延迟
Day 5: 流复制故障排除与高可用
上午:流复制监控与调优
- 课程内容:
- 流复制状态监控(使用
pg_stat_replication
) - 调整
checkpoint_timeout
与wal_buffers
- 常见复制问题与故障排除
- 流复制状态监控(使用
- 实践练习:
- 监控流复制状态与日志
- 调整复制参数并测试性能
- 模拟常见故障并解决
下午:基础高可用配置
- 课程内容:
- 高可用架构概述:故障切换与手动恢复
- 介绍
repmgr
或pg_auto_failover
工具 - 配置手动故障切换
- 实践练习:
- 手动执行主从切换并恢复正常状态
- 在主节点停机时测试从节点故障切换
Day 6: Pgpool-II 实现高可用与负载均衡
上午:Pgpool-II 安装与配置
- 课程内容:
- Pgpool-II 介绍与架构
- 负载均衡与连接池的作用
- 安装 Pgpool-II 并配置与 PostgreSQL 集群对接
- 实践练习:
- 安装 Pgpool-II 并配置与主从集群的连接
- 配置负载均衡与连接池
下午:Pgpool-II 故障切换与健康检查
- 课程内容:
- Pgpool-II 故障切换与恢复机制
- 配置健康检查,监控数据库节点状态
- 配置自动故障切换策略
- 实践练习:
- 测试 Pgpool-II 自动故障切换
- 停止主节点,观察从节点切换为主节点的过程
Day 7: Patroni 高可用架构
上午:Patroni 介绍与安装
- 课程内容:
- Patroni 高可用集群架构概述
- 使用 etcd 或 Consul 作为分布式一致性存储
- 安装 Patroni 与 PostgreSQL 集成
- 实践练习:
- 安装 Patroni 与 etcd/Consul
- 配置 Patroni 集群环境
下午:Patroni 故障转移与恢复
- 课程内容:
- Patroni 故障转移与恢复机制
- 手动与自动切换之间的选择
- Patroni 集群健康检查与调优
- 实践练习:
- 测试 Patroni 集群的自动故障转移
- 模拟故障并进行恢复
Day 8: 数据一致性与日志复制
上午:日志复制与 WAL 管理
- 课程内容:
- PostgreSQL 中的 WAL(Write-Ahead Logging)机制介绍
- WAL 日志的生成与管理
- 使用
pg_receivewal
实现日志归档与复制
- 实践练习:
- 配置 WAL 日志归档与管理策略
- 测试
pg_receivewal
远程日志传输
下午:异步与同步复制模式的切换
- 课程内容:
- 异步复制与同步复制的应用场景
- 切换主从节点的复制模式
- 测试异步复制与同步复制的性能差异
- 实践练习:
- 切换异步复制与同步复制模式
- 通过负载测试对比两种模式下的性能差异
Day 9: 集群监控与性能优化
上午:集群监控与告警配置
- 课程内容:
- 介绍常用的监控工具:
pg_stat_activity
,pg_stat_replication
- 配置数据库集群的监控与告警
- 使用 Prometheus + Grafana 监控集群状态
- 介绍常用的监控工具:
- 实践练习:
- 安装 Prometheus 与 Grafana
- 配置 PostgreSQL 集群监控与告警规则
下午:集群性能调优
- 课程内容:
- 调整复制性能:优化 WAL 传输与节点间网络延迟
- 数据分片与读写分离架构设计
- 使用
pg_repack
进行表整理,优化集群性能
- 实践练习:
- 调整集群复制性能参数
- 测试集群在不同网络条件下的性能表现
Day 10: 集群运维与常见问题解决
上午:集群日常运维
- 课程内容:
- 日常集群维护任务:VACUUM、ANAL
作者:严锋 创建时间:2024-10-19 12:01
最后编辑:严锋 更新时间:2025-05-09 15:48
最后编辑:严锋 更新时间:2025-05-09 15:48