I've used both very recently, and I would definitely avoid MySQL given a choice.
From my experience, postgres is faster, especially at more difficult problems (complex joins). I've never had issues in postgres joining several tables into 10 million plus row relations, and then filtering down to the set of interest.
I did a recent test adding a similar column to a MySQL table with 3 million rows in it compared to adding a column to a postgres table with 30 million rows in it. MySQL took 3000 seconds, and postgres took 82 ms.
Functional indexes. Doing things like "create unique index user_emails on users (lower(email));" works great in postgres.
A quick google reveals this: http://wiki.postgresql.org/wiki/Why_PostgreSQL_Instead_of_My...
It's a bit old, but it might provide more insight.