• I've never used mysql, and from what I've read about it, I hope I never have to.

    I'm sorry, but I don't think its really a viable database engine to put critical data in, unless you know all of the pitfalls and shortcomings, and are very careful to avoid them.

    Look at this list of mysql "gotchas": http://sql-info.de/mysql/gotchas.html

    Yes, mysql is getting better each version, but (I beleive) it still does things like allows you to insert nulls into columns defined with non-null constraints - there is no error or any indication you can't do that, the engine silently inserts a default value into the column instead.

    MySql also treats 30 feb as a valid date.

    Yep, MySQL can be spectacuarly fast, and can be clustered well - as long as your data is mainly read-only. Look at slashdot.org. Hugely busy site, all stored in mysql... but as I understand it they have MySQL running in a cluster with one master that is read/write, and all the other nodes are read only. Obviously this model has limitations.

    I read somewhere that the mysql developers take the approach that they will put RI and ACID features into the database engine, as long as they don't impact performance, but the PostgreSQL developers will code for higher performance in the DB engine, as long as it doesn't impact RI or ACID.

    I know which DB I'd rather use.