PostgreSQL targets a full set of features, when MySQL aims performance.
But from what I have read, it aims
and misses, at least when you have an application that requires lots of updates, like a big e-commerce site.
Without PostgreSQL's MVCC "concurrent update" feature, MySQL programs are required to lock the entire table to perform updates. This gets to be the bottleneck for such applications.
So, while MySQL may be "speedier" on simple tests or mostly-readonly accesses, PostgreSQL is faster (and some say more robust) for real transactions.
MySQL is structured access to files. PostgreSQL is a real transactional database. Your needs determine which is more appropriate. But please stop trotting out "speed" as a complete determiner.