Patroni 是一款非常流行的 PostgreSQL 高可用性解决方案。
为了方便学习 Patroni 源码,本地搭建学习环境
本例适合 PostgreSQL 爱好者学习,不适合用于生产环境
环境说明:
操作系统:win7
etcd:etcd-v2.3.1-windows-amd64
python:3.7.0
PostgreSQL:postgresql-12.9-1-windows-x64.exe
idea:PyCharm Community Edition 2021.2
Patroni 源码地址:https://github.com/zalando/patroni
官方文档地址:https://patroni.readthedocs.io/
目前 patroni 支持:ZooKeeper、etcd、Consul、Kubernetes,且当前支持的 PostgreSQL 版本 9.3 至 14。
安装要求:
pip 是 python 包管理工具,该工具提供对 python 包的查找、下载、安装卸载功能。
安装 psycopg2 或 psycopg2-binary 根据需求选择适合方式安装。
安装 patroni 组件以逗号分割
规划 PostgreSQL 节点
Patroni/PostgreSQL 节点与 DCS 节点分离(除非 Patroni 自己实现 RAFT 时除外),因此对最小数量的节点没有要求。运行由一个主数据库和一个备用数据库组成的集群非常好。也可以稍后添加更多备用节点。
运行配置
源码中提供了我们需要的配置文件
配置文件:
postgres-win.yml 参考 postgres0.yml 修改处见上图
启动时引用的配置参数
成功展示
日志 log
REST API
文章转载自LY的PostgreSQL,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。