// What runs on ZooKeeper / patroni
Does Patroni (PostgreSQL HA) use ZooKeeper?
One of several DCS optionsPatroni keeps PostgreSQL cluster state and leader locks in a distributed configuration store (DCS). ZooKeeper is one supported DCS, alongside etcd, Consul, Kubernetes and Exhibitor. Patroni's own built-in Raft option has been deprecated since Patroni 3.0.
Trusted globally by enterprises




What Patroni (PostgreSQL HA) uses ZooKeeper for
- The leader key that decides which PostgreSQL node is primary.
- Cluster membership and configuration for the Patroni cluster.
Which ZooKeeper version ships with Patroni (PostgreSQL HA)
Patroni is written in Python and talks to ZooKeeper as a client; it does not bundle a ZooKeeper server.
CVE counts are ZooKeeper's own advisories matched against the upstream version. The Apache ZooKeeper project does not assess end-of-life lines against new advisories, so "not assessed" means unknown, not safe.
Which DCS is Patroni using?
patronictl -c /etc/patroni/patroni.yml list grep -E '^(zookeeper|etcd3?|consul|kubernetes|raft):' /etc/patroni/patroni.yml
Can Patroni (PostgreSQL HA) run without ZooKeeper?
Yes. etcd (v3 API), Consul and Kubernetes are all supported DCS backends.
Patroni 4.1.5 (August 2026) is current.
Your options
Move the DCS
Switching Patroni from ZooKeeper to etcd is a controlled cluster maintenance operation rather than a database migration.
Keep the shared ensemble patched
When the ZooKeeper ensemble also serves other systems, OSSeva patches it in place.
Most teams buy this at the product level: keep the Patroni (PostgreSQL HA) estate supported, including the ZooKeeper under it. See Patroni support.
Frequently asked questions
Is Patroni's built-in Raft still supported?
It was deprecated in Patroni 3.0.0 (January 2023) and is still documented but not recommended. Use etcd, Consul, ZooKeeper or Kubernetes.
Keep Patroni (PostgreSQL HA) and the ZooKeeper under it supported.
Send us your versions; we reply with coverage, exposure and a plan within five working days.