Re:PostgreSQL 10 Beta 1 Released
by jimktrains2 on Tuesday June 27, 2017 @08:28AM
(#14644747)
I feel like pg is broad and deep and mysql is shallow and narrow.
Pg has capabilities above and beyond anything one could dream of in mysql. Pg supports a wide array of back up and replication strategies.
PostgreSQL has a much broader feature set, but isn't as finely tuned for any given use case. MySQL has a very narrow feature set comparatively, but has deep support for things like replication, backup (fast restores in particular with Percona's tools), and fairly speedy insert and update (doesn't have postgresql's write amplification problem).
My tools are psql for PostgreSQL, and mysql for MySQL. I've never needed anything more; most of my time is spent trying different variants of the same semantic SQL to encourage use of one query plan or another. PostgreSQL has much more strategies available, but the downside is it has a more sophisticated query planner, which means it's less predictable and can start using suboptimal plans as the database statistics change. If my query is complex (e.g. using window functions or recursive CTEs) I prefer PostgreSQL, if I have a thorny production performance problem, I have more confidence that it'll stay fixed in MySQL. But with recent PostgreSQL supporting parallel operations in the query plan, it has a big weapon to fight back against MySQL's single-threaded queries.