Both are open source databases. This is old debate. Yes no one can expect one database fits all your jobs.
To choose between the two databases, you need to understand whether you need the transaction support of Postgres or the large-text-area support in MySQL.
From the article:
It's interesting that the two databases appear to be converging to meet in the middle somewhere. While MySQL is working on adding transaction support and slowly adding features like subselects, Postgres is making progress in the performance and stability.
It compare two databases using following points:
- SQL standard COMPLIANCE
- DATA INTEGRITY
- SPECIAL server-side FEATURES
- LOCKING and CONCURRENCY SUPPORT
- LARGE OBJECTS etc
A good read (little old too) but don't forget to make some test running before selecting your database.