The Immortal Postgres Web

Date: 2017-09-08
Time: 16:00 - 16:50
Room: Market Street
Level: Intermediate

N elephants went out to play, out on a spider's web one day. They had such enormous fun, that they lived until the end of time had come.

In the world of High Availability, ensuring Postgres stays online has normally been an adventure in wrestling the ultimate failover stack: DRBD + LVM + Pacemaker. But this unweildy monstrosity has defeated many a worthy DBA. What if there was a stack that wasn't nearly impossible to set up (or even comprehend), and was arguably even more versatile? Thanks to Patroni and its ilk, it's easier than ever to make a Postgres cluster practically indestructible. And even though it was generally designed for a single cluster, it's possible to harness it into a meandering web of multiple clusters. Each a thundering herd of primaries and followers, each leveraging a carefully cultivated architecture of shared resources.

In this session, we'll have a long talk about Postgres, Patroni, HAProxy, and Zookeeper. We'll discuss why we selected these components, and how they compare to HA stacks of the past. How we can organize these pieces such that they can support a single Postgres cluster, or ten thousand. No more VIPs or migrant DNS entries. No more network headaches to try and force everything onto the same WAN or VPN. Connect to any Postgres cluster from any datacenter, and always reach a writable (or read-only) target. Kill the primary, and the cluster will survive. Add a node to the pool, and it will grow stronger.

This is Postgres' Final Form.


Shaun Thomas