I’ve been an active Postgres user and advocate since 2001, but didn’t really dive in until 2005. Over the years, I’ve contributed a respectable amount of utilities, presentations, and even a book or two.


While not extensive, I do have published books related to Postgres. It’s my way of being useful beyond stuff I blog about on Friday.

PostgreSQL High Availability Cookbook – Second Edition

In 2014, I wrote a book to help other Postgres DBAs and users put together a solid cluster environment that could practically survive an outright Apocalypse. When I first started using Postgres in serious environments, I would have done nearly anything for a book like this. When Packt first approached me, I jumped at the opportunity to give back to the community. Recently I had the chance to update the book to reflect changes in Postgres 9.5 and 9.6 for the second edition.

Instant PostgreSQL Backup and Restore How-to

This is more of a pamphlet than a book, but goes over the basics of backing up or restoring a Postgres database. Unfortunately it’s only recent up to 2013, meaning features of Postgres 9.4 and beyond are not covered. It also doesn’t really cover utilities like Barman or pgBackRest, both of which I highly recommend in favor of relying on the supplied tools.


On occasion, I’ve been known to speak at Postgres conferences and other venues. Here are a few of the slide sets for those. I seem to have lost a few, but will post them here when I locate the slide sources.

Elephant Herd as a ServicePDF

Presented at Postgres Open in 2016. This covers a Postgres management suite named ElepHaaS. I wrote this specifically to manage large clusters of Postgres servers. At the time I wrote it, we had over 120 Postgres instances on about 80 servers. It’s not really feasible to perform managed failovers, replica rebuilds, and any number of other actions once cluster count gets this high.

Deep Database DivePDF

Presented at UIUC in 2016. The professor of the Database Design and Management course at UIUC asked me to put together a sample database design from start to finish. Along the way, I also go into some basic fundamentals students might want to know, but may not consider. It’s the first time I’ve “taught” a university class.

Bones of High AvailabilityPDF

Presented at Postgres Open in 2015. This is essentially a quick summary of my 2014 book on the same subject. The presentation starts with a blank slate and constructs all of the elements of what makes a scalable and robust Postgres architecture.

Monitoring PostgreSQL With Style – PDF

Presented at Postgres Open in 2014. What better way to monitor Postgres states by mining the system catalog with arbitrary queries? This presentation goes over combining Graphite and collectd to build a client-server aggregate system for monitoring Postgres statistics. It’s certainly a pretty handy stack. This information can also be found in chapter 5 of Postgres High Availability Cookbook.

High Availability with PostgreSQL and Pacemaker – PDF

Presented at Postgres Open in 2012. Pacemaker is an extremely versatile piece of automation software. There are lots of these presentations on combining it with Postgres and DRBD to create a fully automated Postgres failover pair. The cool thing about this is that it operates below the filesystem itself, meaning Postgres doesn’t even know it’s running on another server if a failover occurs. Not even streaming replication is as up-to-date as this approach unless you’re using synchronous replication. In which case, there’s much greater overhead. This information can also be found in chapter 9 and 10 of Postgres High Availability Cookbook.

NVRam for Fun and Profit – PDF

Presented at Postgres Open in 2011. Back before Fusion-io became a subsidiary of SanDisk, they made some of the first NVRAM-based PCIe storage devices. These things were ridiculously fast, operating at almost half the speed of RAM. At the time, our SAN wasn’t up to the task of serving the morning rush of users, so we found something that was. The summary of this presentation is: Holy crap you need one of these!