The main thing that should be noted when comparing Postgres and mySQL is that mySQL is a lot faster, while Postgres can handle a lot more load, and supports Unicode. mySQL will only support Unicode in the 4.1 release.

I\'d like to see GeekLog ported to Postgres, or perhaps if we make our own database layer (or use an existing solution) we can just choose between mySQL and Postgres in the config file. That way I can make an Arabic site using GeekLog :-)

Even though you can argue that MySQL is faster at blarting raw selects to the screen, as soon as you need transactions, subselects, stored procedures, referential integrity, scalability or a true BSD license, you run into problems.

The thing is even if you start off with MySQL, eventually sites grow and you start adding advanced features that need a more mature DB engine.

As someone else mentioned, many people start with MySQL and 'grow into' Postgres..

I have had that experience. Initially, PG seemed to have too much unneeded complexity, the configuration was a bit more esoteric (hey we are talking DBMS's here :-) and many of the non-INSERT/UPDATE/SELECT commands were different.

But things like transactions are actually massively more useful that some MySQL advocates would make out. You don't need to be writing a banking application to make transactions extremely useful. Sequences also are a lot more useful than AUTO INCREMENT.

Interesting reading on the pros and cons can be found in this PHPBuilder article. Keep in mind that since that article, many improvements have happened to postgres, including the abolishment of the 8K row limit (I beleive) and stability is now rock-solid. Performance is now right up there too.

I still have lots of respect for MySQL, and I'm using it for my current DB-Driven project. It's speedy, lightweight, and in this particular case it does everything I need.