If your needs are fairly simple, and especially if the ratio of reading
the database to inserting/updating records is fairly high, MySQL is
probably the way to go. It gives great performance in this scenario.
If I am not mistaken, this site uses MySQL as its back end; in addition
to its other advantages it provides for fairly long rows so you can easily
store entire messages right in the tables.
On the other hand, if your site is more transactional in nature (i.e.
is more evenly balanced between reading and updating records),
has a fairly complicated database structure, or deals with financial
records in any way, then I'd recommend PostgreSQL for its full
support of real transaction processing and its ability to scale
better when a higher percentage of updates are occurring.