MySQL is a RDBMS. It's fast. Really fast. However, speed is no substitute for quality: MySQL lacks transactions and some other critical features that, say, Oracle does have. In other words, MySQL is, as of yet, unreliable and limited.

For a rant, see this document: (also a lot of contrary points, too - don't take my word for these =)

Personally, I chose PostgreSQL because MySQL came with a nasty license and PostgreSQL is under BSD license. (As pointed out, MySQL is under GPL now...) I didn't knew about MySQL's other faults at that time. Now I know better.

Updatish: Other reasons:

  • Yeah, Postgres' feature set is cooler. Transactions are nice.
  • PostgreSQL handles complex queries better than MySQL.
  • What the heck is auto_increment? In PostgreSQL we do it with name SERIAL that automagically creates a sequence. Oh, right... let me guess, MySQL has no such features?
  • ...uh, yeah, MySQL was built by those Swedes, dammit. <rivalry type="neighboring countries">My support goes anywhere else but there.</rivalry> =) (I wish Solid's databases would be open-source so I could use a Finnish database... Okay, enough of this silliness.)