It&#x27;s a long time since MySQL was faster than Postgres.<p>Back in the early 2000s, LAMP people on Slashdot were benchmarking MyISAM tables to Postgres&#x27; 6.5&#x2F;7.x&#x27;s fully transactional engine. Unfortunately, the reputation as being slow stuck among developers.<p>Postgres particularly shines on multicore systems, thanks to some clever internal design choices. Having a sophisticated cost-based query planner also helps.<p>As for unfriendly: Care to amplify? In my work, I&#x27;ve found the opposite to be true.<p>For example, the very first thing you tend to encounter as a new developer is &quot;how to create a user&quot;. For MySQL, it turns out that using GRANT to grant a permission creates a user, which is counterintuitive; GRANT also sets the password, and promotes the use of cleartext passwords. By comparison, Postgres has &quot;createuser&quot;, as well as a full-featured set of ALTER USER commands. The difference between &quot;mysql&quot; and &quot;mysqladmin&quot; is also completely unclear.<p>The almost complete lack of warts and legacy cruft in Postgres significantly removes the possibility of confusion, uncertainty and information overload. MySQL&#x27;s manuals are littered with &quot;if X is enabled then this behavior is different, and in versions since 5.7.3.5 this behavior has been changed slightly, and 5.7.3.6 has a bug that silently swallows errors&quot;, etc. MySQL&#x27;s historical date and NULL handling alone is worth a chapter of any book.<p>Postgres also has a level of strictness above MySQL, which is in itself instructive. You know when you&#x27;re doing something wrong. Postgres never accepts bad input. It always requires a strictly correct configuration setup.<p>Plus: Just type \h in psql. It has a complete reference of the entire SQL syntax.