
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Patroni是一个用于创建定制化PostgreSQL高可用(HA)解决方案的模板,采用Python开发,并结合分布式配置存储(如ZooKeeper、etcd、Consul或Kubernetes)实现高可用性。它源自Compose的Governor项目分支,包含更多新功能,适用于数据库工程师、DBA、DevOps工程师和SRE在数据中心或其他环境中快速部署HA PostgreSQL。
Kubernetes用户注意:Patroni可原生运行在Kubernetes上,详见https://github.com/zalando/patroni/blob/master/docs/kubernetes.rst%E3%80%82
maximum_lag_on_failover)和同步复制bashbrew install postgresql etcd haproxy libyaml python
自psycopg2-2.8起,默认不再安装二进制版本,需手动选择安装方式:
通过系统包管理器:
bash# Debian/Ubuntu (Python 2) sudo apt-get install python-psycopg2 # Debian/Ubuntu (Python 3) sudo apt-get install python3-psycopg2 # RedHat/Fedora/CentOS (Python 2) sudo yum install python-psycopg2
安装二进制包:
bashpip install psycopg2-binary
从源码安装:
bashpip install psycopg2>=2.5.4
使用pip安装Patroni及所需依赖:
bashpip install patroni[dependencies]
其中dependencies可包含以下一项或多项:
etcd:使用etcd作为DCS时需安装python-etcd模块consul:使用Consul作为DCS时需安装python-consul模块zookeeper:使用ZooKeeper作为DCS时需安装kazoo模块exhibitor:使用Exhibitor作为DCS时需安装kazoo模块(与ZooKeeper依赖相同)kubernetes:使用Kubernetes作为DCS时需安装kubernetes模块aws:使用AWS回调时需安装boto模块示例:安装Patroni及etcd和AWS依赖
bashpip install patroni[etcd,aws]
注意:外部工具(如WAL-E)需独立安装。
启动分布式配置存储(以etcd为例):
bashetcd --data-dir=data/etcd
启动Patroni节点(不同终端运行):
bash./patroni.py postgres0.yml ./patroni.py postgres1.yml
配置HAProxy(提供单一连接端点):
bashhaproxy -f haproxy.cfg
连接到集群:
bashpsql --host 127.0.0.1 --port 5000 postgres
完整配置说明见https://github.com/zalando/patroni/blob/master/docs/SETTINGS.rst%EF%BC%8C%E9%85%8D%E7%BD%AE%E7%A4%BA%E4%BE%8B%E5%8F%AF%E5%8F%82%E8%80%83https://github.com/zalando/patroni/blob/master/postgres0.yml%E3%80%82
通过环境变量覆盖配置的详细说明见https://github.com/zalando/patroni/blob/master/docs/ENVIRONMENT.rst%E3%80%82
Patroni默认使用PostgreSQL异步流复制,可通过maximum_lag_on_failover设置控制故障转移时的最大延迟(字节数)。也支持同步复制以提供更强的数据持久性,详见https://github.com/zalando/patroni/blob/master/docs/replication_modes.rst%E3%80%82
应用连接时应使用非超级用户。Patroni需要数据库访问权限以正常运行,若应用使用超级用户可能耗尽连接池(包括superuser_reserved_connections预留的连接),导致Patroni无法访问主库,引发异常行为。
以下是 d2cio/patroni 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。




来自真实用户的反馈,见证轩辕镜像的优质服务