Presented by:


Alexander Kukushkin

Zalando SE

During his professional career, Alexander touched PostgreSQL from all possible sides: as Web Developer, as System Administrator, and as a Database Engineer now. About four years ago he started working on Patroni project and achieved quite a big success with it. Periodically he reports bugs and contributes patches to PostgreSQL and some other open source projects (usually postgres related). He is a regular speaker at different postgres events.

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.

2017 March 29 10:30 EDT
50 min
PGConf US 2017 [PgConf.US]