The question isn't which is better, but which is better for the particular use you're intending.
If you don't need transactional consistency, mySQL might give better performance. If you do, PostgreS can be faster. If you need spatial searching, PostgreS. Tables larger than 2GB, PostgreS. Bitmap indexes, PostgreS. INTERSECT, PostgreS.
... this could go on ad-nauseum. And then we get to the question of 'best', and this assumes that mySQL or PostgreS are the only two options. Sometimes, SQLite is the best. Or Oracle. Or even some storage engine that's not an RDBMS.
(and note that I said 'might' give better performance -- just because one's typically faster doesn't mean that it'll be faster for the way you're going to be stressing it)