I run MySQL and PostgreSQL in production for different clients, and the truth is that for a typical web application both are excellent. The decision comes down to workload shape and team experience, not benchmarks from someone else's blog. Here is how I actually decide.
CRUD-shaped product with heavy reads and a team that knows LAMP? MySQL, no hesitation. Anything with reporting, JSON-heavy payloads, geo queries, or gnarly business constraints? PostgreSQL. Migrating between them later is possible but painful, so spend an hour on this decision — not zero, and not a week.
Indexes that match your queries, connection pooling, sensible timeouts, automated backups you have actually restored once, and monitoring slow queries. A well-tuned MySQL beats a neglected PostgreSQL every single time — and vice versa.