A few years back, Apple made the highly-publicized decision to switch from MySQL to PostgreSQL. Many of their reasons for the switch are still valid today. Even though MySQL is still the most widely-used open-source database solution, that doesn’t mean PostgreSQL isn’t every bit as powerful. Quite the contrary; PostgreSQL might be the new kid on the block, but it has many dedicated supporters that consider it a superior database solution.
A great deal of this is due to the open community that’s grown up around PostgreSQL – and how bad MySQL’s community looks in comparison. Ever since MySQL’s acquisition by Oracle, there have been a number of developer complaints about the database platform’s development process; it’s grown more than a little stagnant. Contrast this against PostGreSQL’s relatively active, strong community, and it’s not difficult to see why some clients might consider it a better choice.
That isn’t all PostgreSQL has going for it, either. In addition to a selection of highly-advanced features, it also comes equipped with the capacity to install a number of powerful third-party tools to help users tweak the platform to their liking. On top of that, it’s highly extensible; something which is helped along by the database’s built-in nesting support.
Arguably, PostgreSQL tends also to be a touch more stable than MySQL, which has something of a reputation for running into the occasional performance glitch or bug – the most severe of which could send an entire database crashing down. While I won’t pretend PostgreSQL is perfect (more on that in a moment), it suffers from very few of these reliability pitfalls, and also has fewer limitations than MySQL (which actually tends to be a little lightweight by comparison).
Have I mentioned it’s also highly secure?
Now, as I’ve said, PostgreSQL isn’t without its faults. Since it’s more complex and powerful than MySQL, it does tend to be a little resource-hungry. In that same vein, PostgreSQL’s power can actually end up being overkill for simpler installations, where all you really need is a relational database that’s basically “set up and go.” Of course, these issues are minor, particularly if you plan to use your database to run complex custom procedures or database designs.
They also pale in comparison to the greatest issue with the platform:
Compared to MySQL, PostgreSQL simply isn’t all that popular yet. Even though MySQL hasn’t been around for much longer, it’s still significantly more well-known among the hosting community. As a result, PostgresSQL hasn’t really gotten the chance to establish itself in the hosting market. What this means is that it’s a touch more difficult to find vendors that offer support for PostgreSQL, while the vast majority of hosts offer MySQL support.
Still, that’s remedied easily enough. As time goes on and PostgreSQL gains in popularity, I’ve no doubt we’ll eventually see more and more enterprise organizations offering support for it.
PostgreSQL is sort of the upstart new kid on the block. It hasn’t quite gotten its foot in the door yet; even though it’s superior to MySQL in many ways, it’s still struggling with clients and vendors alike to gain mainstream support. Perhaps that’s because – at the end of the day – it’s not a one-size-fits-all database solution. No platform is.
Even so, it couldn’t hurt to give PostgreSQL a try. Who knows – it might surprise you.