Boring has never looked so cool. The decades-old relational-database management system Postgres, once the forgotten older sibling to MySQL, has been on a tear the last few years. Postgres has Oracle to thank for some of its newfound sexiness, as Oracle has fumbled MySQL’s community outreach at crucial moments.
But far more of Postgres’ renaissance stems from the fact that it boringly, reliably works. It turns out “boring” is a critical feature in a database.
This week I keynoted Postgres Conference Europe, Postgres’ biggest European gathering, and asked a number of Postgres developers why they use the open source veteran. Their responses point to a bright future for a database that has long lived in MySQL’s shadow.
A Postgres Renaissance
I first noticed that something was up with Postgres while working at a startup in hipster central, San Francisco (the SoMa area). At the time, I thought it might just be an affectation by the tragically hip; an attempt to do a retro zig while the rest of the world did a MySQL zag.
Over time, however, it became clear that there was more of a movement to Postgres than just a beards-and-skinny jeans revolution. Oh, sure, there is that, with startups listing it as one of their top database choices:
But Postgres’ newfound popularity is far broader than this. Analyzing online conversations about database technologies, whether on Twitter, blog posts, news articles or forums, the decibel levels around Postgres have been steadily rising over the last year and a half:
Interestingly, this Postgres resurgence is very much against the grain of its chief relational database competitors, whether proprietary:
Or open source:
Some will argue that talk is cheap, but the same trend shows up in jobs data, too:
At the sold-out PGConf.EU 2014 event, at least a third of the attendees were new to the event and to Postgres, a solid indication that interest in Postgres is on the ascendancy. The question is why.
Why Postgres Is Finally Cool
The irony is that most developers told me roughly the same thing: they use Postgres because it “just works.” Another way of saying this is “Postgres is boring.”
Or, as Spanish developer Vadim Troshchinskiy relayed to me, “A database is somewhat boring technology. You don’t want it to be exciting. You want it to work and store your data.”
Even so, boring only goes so far. Innovation also matters. In that department, says Svenne Krap, a Danish developer, Postgres stands out:
Postgres has tremendous forward movement in technology. While it has had a rise in mindshare, it has been even more impressive in terms of technology innovation. Most databases are standing still in the 1980s. Postgres keeps coming up with new things, like window functions. A lot of other databases are slower in their forward movement.
While developers like Australian architect Ken Barber acknowledged MySQL has outpaced Postgres in one significant area—master replication—they were equally quick to highlight Postgres’ superior performance. And its commitment to consistent, broad innovation, as Postgres committer Bruce Momjian told me in a previous interview: “Recent [Postgres] releases have introduced streaming and cascading replication, expanded foreign table support, unlogged tables for performance gains, increased CPU scalability, and index-only scans.”
It’s not just about commoditizing Oracle, in other words, but also about innovating for future developer needs.
Nor are Postgres developers bowled over by NoSQL. As German developer Oliver Seemann told me:
Postgres makes it easier to write correct applications because it enforces correct data. For those that are worried about killing bugs, this is crucial. Startups may initially care more about speed of development but at some point you need to be concerned that your program works correctly. Schema matters. Types matter. Constraints matter. These seem like small things but if you do this consistently it ensures your app will work correctly.
“We Can’t Be Bought”
Finally, nearly every Postgres enthusiast I talked to called out the true community nature of Postgres as an important reason for its popularity. Having watched MySQL stumble under Oracle’s guidance, it wasn’t surprising to hear Laurenz Albe, an Austrian developer, insist it’s important that:
Postgres is not owned by a single company. It’s as close to a free and open source project as you can get. It gives a feeling of comfort that no single vendor getting bought would hurt Postgres.
For this and other reasons, Postgres keeps growing in popularity and adoption. It’s not a perfect database. It’s not even a perfect community. But it’s suitably “boring” while also offering significant innovation, making it cool with SoMa hipsters and enterprise oldsters alike.
Lead photo by Matt Asay for ReadWrite