views:

424

answers:

3

I've heard a lot of PostgreSQL but I always wanted to know why you'd choose it over MySQL. What makes it "the world's most advanced" and do those "advanced" features really matter?

+3  A: 

Here's a great comparison page: MySQL vs. PostgreSQL.

This question should probably be considered a duplicate though, the topic has been covered many times here on SO: Google search for "postgresql mysql" on StackOverflow.com

Chad Birch
+8  A: 

postgres has better foreign key support, better referential integrity, transactions, views, subselects, etc. But that doesn't mean MySQL doesn't have its place. It really depends on what your needs are. Size of database and complexity of your relations, etc. MySQL is dead simple to set up and use, and it comes by default on virtually all web packages.

You can find Loads of comparisons tween these 2 all over the web.

Scott Evernden
-1. MySQL InnoDB has all those things.
bobince
You need to better define "better" in terms of support. How exactly is postgress better, and MySQL worse? ..and I've used the word "better" too many times in this comment already. :)
Nik Reiman
bobince - FYI, MySQL does not handle subselects well at all.
Mark Richman
+2  A: 

bobince: RE: foreign key support,referential integrity, transactions, views, subselects: InnoDB may have them, but they are not as standards-compliant, or real world tested than PostgreSQL's (seeing as MySQL devs claimed for years that those features were unneeded). Also, InnoDB is not the default table type and you need to use the non-ACID table type for full text search, amongst other things.

MkV
The core functionality of those features is perfectly well real-world tested, and no less standards-compliant than anything else. These are the hand-waving arguments of yesteryear, canards endlessly quoted in furious PostgreSQL/MySQL flame wars, signifying nothing.
bobince
And a good reason to close this subjective, unresolvable, perpetual question. There are many many other, more extensive web sites - SO isn't going to add any value to the flames.
le dorfier