




资源介绍
视频数量:26个
总时长:5小时2分
课程介绍:
PostgreSQL高可用管理实战:从原生复制到自动故障转移
想象一下这样的场景:凌晨三点,你的手机突然响了,公司核心业务数据库的主库宕机,而备库还停留在三天前的数据快照上,恢复过程花了整整八个小时,期间订单丢失、客户投诉铺天盖地而来。如果当时有一套完善的高可用方案,备库能在几十秒内自动顶上,很多损失本可以避免。这门课讲的就是怎么把这种"如果"变成"不可能"。
课程的讲师 Shrutshin Verma 拥有超过十年的数据库管理经验,横跨 Oracle、PostgreSQL、MongoDB、MySQL 多个领域,同时也持有 Azure 云认证并实际操作过 AWS 和 OCI 环境。这门课聚焦在 PostgreSQL 的高可用性管理上,整体设计偏向实操,适合那些已经具备 PostgreSQL 基础管理知识,想要往高可用和数据库架构方向深入的 DBA 和后端工程师。
一、环境准备:搭建可复现的实验平台
课程并不假设你已经有现成的服务器集群。前面几个章节先帮你把实验环境搭起来。第一部分介绍 WSL,也就是 Windows 的 Linux 子系统,让在 Windows 上工作的同学也能跑 PostgreSQL 服务。第二部分介绍 Vagrant,通过 Vagrantfile 脚本一键创建虚拟机,把 PostgreSQL 二进制安装、集群初始化、配置文件修改这些原本手动操作的事情全部自动化。这样做的好处是,你不需要为每次实验重新折腾环境,也能在团队里共享完全一致的配置。
二、原生复制:理解高可用的底层原理
打好环境基础后,课程进入核心内容,先从 PostgreSQL 自带的流复制讲起。这一章会带你理解主备复制的原理,包括主库上 wal 日志的生成、备库如何接收并应用这些日志。主备之间的 ssh 通信配置、复制用户创建、postgresql.conf 和 pg_hba.conf 的关键参数调整,这些细节都会讲到。更有价值的是,课程演示了如何把备库提升为主库的操作,以及用 pg_is_in_recovery 函数判断当前节点角色的方法。当你理解了原生复制的工作方式,后面学习 repmgr 和 Patroni 时就能明白它们到底在帮你简化哪些事情。
三、repmgr:复制管理的轻量级工具
原生复制虽然能用,但主备切换、节点监控、拓扑管理都得靠人工操作,一旦主库出问题,DBA 必须手动介入。repmgr 就是为了解决这些痛点而生的。课程会先介绍 repmgr 的整体架构和适用场景,然后通过四个连续的 Demo 演示从安装配置到故障切换的完整流程。你会看到 repmgr 如何注册节点、监控复制状态、在主库失效时自动或手动触发备库提升。课程还专门有一节讲解 repmgr.conf 的各个参数及其作用,帮你理解每个配置项背后的含义,而不是简单地照搬别人的配置文件。
四、Patroni:企业级自动故障转移方案
如果说 repmgr 是轻量级的复制管理工具,那 Patroni 则是更完整的高可用解决方案。课程用七个 Demo 详细拆解了 Patroni 的部署和使用,重点是它和 Keepalived、VRRP、HAProxy、VIP 的整合方案。简单来说,Patroni 负责管理 PostgreSQL 实例的健康状态和自动切换,HAProxy 作为中间层把应用请求路由到当前的主库,Keepalived 和 VRRP 则负责在多个 HAProxy 之间漂移一个虚拟 IP,确保整个接入层也没有单点故障。这套组合是很多互联网公司在生产环境里实际使用的方案。课程还附带了一份复制文档 PDF,方便你在课后查阅参考。
五、课程收尾
最后一节是简短的总结和感谢。整个课程 5 个小时左右,不算特别长,但因为每个章节都有对应的 Vagrantfile 和可重复的实验步骤,学习体验比较扎实。学完之后,你应该能够根据自己业务的可用性要求和复杂度,选择合适的高可用方案,并在测试环境里独立完成搭建和验证。
需要提醒的是,这门课不是 PostgreSQL 的入门课。如果你对 PostgreSQL 的基本管理操作(比如初始化集群、配置参数、用户权限)还不熟悉,建议先补一补基础知识再过来,否则后面的实验可能会觉得吃力。但如果你是已经管过一段时间数据库、想要把高可用这块短板补上的 DBA,或者是在负责后端架构、想了解数据库层面容灾方案的开发人员,这门课的性价比是相当高的。