Presented by:


Alexander Kukushkin

Zalando SE

Alexander is a Database Engineer at Zalando, with many years of experience working with PostgreSQL. He is the most active contributor to the Patroni project. Occasionally he finds issues in well-known open-source projects (PostgreSQL, pgbouncer) and contributes patches.

Patroni is a high availability solution for PostgreSQL developed by Zalando to manage hundreds of databases in the cloud, as well as in traditional data centers. It implements automatic failover and works together with Etcd, Zookeeper or Consul to store and retrieve Postgres cluster information in a consistent way and ensure there is only one leader at a time, avoiding split-brains. In more than one year of active development, we’ve implemented a number of features, such as manual and scheduled failovers, support for synchronous and cascading replication, multiple ways to create new replicas, changing configuration of PostgreSQL and Patroni on-the-fly with dynamic configuration and many others. Patroni is used at the core of Zalando’s cloud-based Database-as-a-Service infrastructure, as well as to manage PostgreSQL clusters in our data centers. In this talk I will describe how Patroni works, live-demo the creation of a new high-availability cluster, highlight different usage patterns and share our own experience, including configuration of Etcd or other similar systems to make proper trade-offs between the cluster availability and probability of running into the split brain situation. Patroni is an open-source daemon written in Python and developed in the open on GitHub: It is used by Zalando, as well as other big and small companies around the globe.

50 min
PGConf US 2017