Originally posted by Wien
From www.mysql.com
"PostgreSQL has some more advanced features like user−defined types, triggers, rules and some transaction
support. However, PostgreSQL lacks many of the standard types and functions from ANSI SQL and ODBC.
See the crash−me web page for a complete list of limits and which types and functions are supported or
unsupported.
Normally, PostgreSQL is a magnitude slower than MySQL. 11 La suite de tests de MySQL. This is due largely to their transactions system. If you really need transactions or the rich type system PostgreSQL offers and you can afford the speed penalty, you should take a look at PostgreSQL."
The page this is taken from compares MySQL to Postgresql 7.0.3. considering that Postgresql has seen versions 7.1, 7.2, and now 7.3 come out, I have to take that page as outright marketing lies now. If the folks who make MySQL can't make an honest comparison against Postgresql by using a reasonably up to date version, then I wouldn't trust them with my data either.
I find the "common knowledge" that Postgresql is orders of magnitude slower than MySQL to be only true when doing dead simple things, like
select * from table where id=10
And even then, Postgresql isn't orders of magnitude slower (not anymore, a lot has been done to make it faster in the last two years.) Maybe some small percentage sloewr (5 to 20% slower on same hardware)
But, when doing much more complex things, Postgresql seems to win out handily, especially things like having 300 connections running at once. This is largely because of postgresql's superior planner, as well as it's MVCC design.
It seems like with postgresql you start out just a little slower, but keep that level of performance no matter how heavily you load the database down. With MySQL things start out fast and quickly degrade.
Postgresql also offers true ACID compliance now that it has write ahead logging, and since it is a transactional database from the ground up, it handles transactional issues with ease, not in external code.
Postgresql is written by a team I've grown to trust over time, they've been honest and forthcoming about any bug I've ever asked about, and very helpful.
MySQL seems to be put out by a company more concerned with marketing spin than facts, and the crash me tests (heavily biased) and inability to test against a modern variant of Postgresql just prove that point.