A new version (9.0) of PostgreSQL is in beta and ready for public testing. If version 9.0 lives up to its proposed feature list, then it is serious competition for MySQL. PostgreSQL proponents have long suggested that PostgreSQL has always enjoyed superiority over MySQL. I beg to differ but that may be changing.
I tried using PostgreSQL several times over the past few years, beginning with version 6.x. I received it on CD for review. It was OK. Nothing thrilling or special. I did think it was an ambitious project but at the time, I didn't really care much for it.
I thought it was clunky, bloated and too complicated.
I tried again with a 7.x version. Same results.
Version 8.0 arrived with a bit of fanfare and I really tried this time. Not that I hadn't tried before but this time, I dedicated a whole Linux system to it. I was convinced that I was going to use PostgreSQL this time. I wanted to use it. For me, it was either Oracle or PostgreSQL and I couldn't afford Oracle. Still can't.
I gave PostgreSQL a good workout through attempting a setup of a web database application using Perl and PHP for the front end and automated back end. Again, PostgreSQL was too complex for me to use and therefore far too complex for many of my clients. I never felt comfortable enough with it to maintain my relationship with it.
I found PostgreSQL to be slow and many of the basic features that I needed and wanted weren't there.
However, (And I might be a glutton for punishment or not know when to give up on something, but...) I'm excited about PostgreSQL 9.0 for two of its features that didn't exist in the versions I tried: Column-Level Permissions and Default Object Permissions.
These two features merely scratch the surface of what's going on with 9.0. You'll have to have a look at the Feature Matrix to see most of what's included in the new release.
In version 9.0, a large number of new features will allow developers and DBAs to broaden their use of PostgreSQL, including:
New binary replication.
64-bit support on Windows.
Improved LISTEN/NOTIFY allows fast internal database event messaging.
Anonymous procedure blocks with the DO statement.
Conditional and SQL-compliant per-column triggers.
Support for Python 3 in in PL/Python and numerous PL/Perl improvements.
Uniqueness constraints for non-scalar data (exclusion constraints)
Improved key-value data support.
Automatic join removal, optimizing for ORM-generated queries.
PostgreSQL supports Solaris, Linux and Windows with binary installations. You may also download the source code and compile it on any platform with which you're working.
Do I think PostgreSQL is ready to go head to head with MySQL? Yes. Do I think that PostgreSQL has a chance to unseat MySQL as the "World's Most Popular Open Source Database Software?" Not for a second. I do think, however, that PostgreSQL will begin to raise corporate eyebrows and gain some enterprise adoption with its new, long-awaited feature set.
Commercial support is available through third parties and hosting companies.
As soon as PostgreSQL 9.0 production version is available, I'm grabbing it, installing it (In a VM, of course) and trying it out one more time before giving up on it forever.
What do you think of PostgreSQL? Do you use it in a production environment? Are you excited about version 9.0?