PostgreSQL has dethroned MySQL as the database of choice among developers. The 2025 Stack Overflow survey shows 55.6% adoption vs MySQL’s 40.5%, marking the first time PostgreSQL has claimed the top spot. However, 2026 performance benchmarks reveal a fundamental shift in the “PostgreSQL is slow” narrative. PostgreSQL 17 and 18 now dominate write operations with 4.9x faster inserts and 3.5x lower write latency, while MySQL 8.4 LTS maintains only a narrow 20-30% edge in simple reads. The performance winner depends entirely on workload characteristics, but PostgreSQL’s recent releases have erased its historical performance penalties.
PostgreSQL Dominates Write Performance and Overall Latency
The 2026 benchmark data is unambiguous: PostgreSQL 17 sustained 21,338 single-row INSERT operations per second on Ubuntu 24.04 in January testing, while MySQL 8.4 managed just 4,383 QPS. That’s not a marginal difference—it’s a 4.9x write performance advantage. Across 17 Sysbench tests, PostgreSQL posted 2.3x lower median latency overall and 3.5x lower latency specifically on write operations compared to MySQL 8.4 LTS.
These improvements aren’t theoretical. Moreover, a documented production case study shows PostgreSQL 17’s incremental VACUUM, bi-directional indexes, and parallel execution features delivering 94% query time reductions and $4,800 per month in infrastructure cost savings. When performance translates directly to operational expenses, the benchmark advantage becomes a business case.
Furthermore, PostgreSQL’s write dominance stems from architectural decisions made years ago that are now paying dividends. Built-in multiversion concurrency control (MVCC) without read-write locks enables better performance under concurrent write loads, while PostgreSQL 17’s streaming I/O interface and WAL processing improvements deliver up to 2x write throughput gains. In contrast, MySQL’s simpler architecture, designed for read-heavy web workloads, simply can’t match this level of write performance.
Adoption Momentum: PostgreSQL’s 7-Point Jump
The Stack Overflow 2025 Developer Survey captured a seismic shift in database preferences. PostgreSQL jumped from 48.7% to 55.6% adoption in a single year—a 7 percentage point increase that represents the largest expansion in PostgreSQL’s history. Meanwhile, MySQL stagnated at +0.2% growth, inching from roughly 40% to 40.5%. Among professional developers specifically, PostgreSQL’s lead widens to 18.6 percentage points (58.2% vs MySQL’s ~40%).
PostgreSQL achieved what Stack Overflow calls the “triple crown”: most popular, most loved (65.5% admiration), and most wanted (46.5% desire) for three consecutive years. Conversely, MySQL’s trajectory tells a different story. It dropped from 2nd place in 2023 to 3rd in 2024 to 4th in 2025, overtaken by Redis. Consequently, this isn’t a slow drift—it’s market validation that PostgreSQL’s combination of features and performance has won the database debate.
The adoption surge reflects several converging factors: cloud providers embracing PostgreSQL as the open-source standard, JSONB providing a genuine NoSQL alternative without separate databases, pgvector enabling AI/ML vector similarity search, and MySQL 8.0’s April 2026 end-of-life forcing migration decisions. Therefore, when developers choose databases for new projects, the default has shifted from MySQL to PostgreSQL.
MySQL’s Simple Read Advantage: Real But Narrow
MySQL 8.4 LTS isn’t conceding the performance crown entirely. Sysbench OLTP read-only tests show MySQL consistently outperforming PostgreSQL by 20-30% on simple SELECT operations with basic WHERE clauses. This advantage stems from MySQL’s deliberately simpler query planner, which executes straightforward queries with less overhead than PostgreSQL’s sophisticated optimizer.
However, the workload dependency is critical. MySQL’s read advantage applies only to simple queries—the kind that power content management systems, social media feeds, and basic CRUD applications. The moment queries involve complex joins, common table expressions (CTEs), window functions, subqueries, or JSON operations, PostgreSQL’s advanced optimizer dominates. For most modern applications requiring analytical queries or flexible data models, PostgreSQL’s complex query performance outweighs MySQL’s simple read edge.
The narrowness of MySQL’s advantage matters. Additionally, a 20-30% performance difference is noticeable but not game-changing for most applications, especially when weighed against PostgreSQL’s write dominance (4.9x) and overall latency advantage (2.3x). MySQL’s niche is clear: simple, read-heavy OLTP workloads where 90%+ of queries are basic SELECTs. That describes some applications, but far from all.
PostgreSQL 18’s Asynchronous I/O Revolution
PostgreSQL 18, released in 2026, introduces an asynchronous I/O (AIO) subsystem that fundamentally changes how PostgreSQL handles storage operations. Instead of blocking on each I/O request sequentially, AIO enables multiple concurrent I/O operations. PlanetScale’s benchmarks testing a 300GB dataset on 64GB RAM—deliberately I/O-intensive—showed up to 3x performance improvements with the new io_uring mode.
PostgreSQL 18 provides two AIO implementations: worker mode (the new default) using dedicated background processes, and io_uring mode leveraging Linux’s asynchronous I/O interface. The worker mode improves parallelism from a single process’s perspective, while io_uring enables truly asynchronous disk reads. Operations currently benefiting from AIO include sequential scans, bitmap heap scans, and vacuum. Nevertheless, index scans don’t yet use AIO but are planned for future releases.
This isn’t incremental tuning—it’s an architectural shift. For workloads where data size exceeds available RAM, PostgreSQL 18’s AIO transforms performance characteristics. Data warehousing, large-scale analytics, and high-volume OLTP applications with datasets measured in hundreds of gigabytes or terabytes see the most dramatic improvements. As a result, PostgreSQL’s performance ceiling just rose significantly.
When to Choose Each Database
Database selection should be driven by workload characteristics, not brand loyalty. Choose PostgreSQL for write-heavy workloads (IoT data ingestion, logging, real-time analytics), complex queries involving joins and CTEs, JSONB for semi-structured data, geospatial applications using PostGIS, AI/ML workloads with pgvector, and scenarios requiring long-term feature growth. PostgreSQL’s rich feature set means fewer architecture limitations as applications evolve.
Choose MySQL 8.4 LTS for simple read-heavy OLTP applications where 90%+ of queries are basic SELECTs, web application backends with straightforward CRUD operations (WordPress, basic APIs), teams lacking PostgreSQL expertise, and environments prioritizing long-term stability (8.4 LTS provides 5 years premier support plus 3 years extended). MySQL’s simplicity remains an asset when complexity isn’t needed.
A critical note for MySQL users: MySQL 8.0 reaches end-of-life in April 2026. Organizations still running 8.0 must plan migrations to 8.4 LTS immediately. The good news is that 8.4 LTS allows in-place upgrades and downgrades within the 8.4.x series without data format changes, reducing migration risk.
The general recommendation from database experts is clear: default to PostgreSQL for new projects unless specific requirements favor MySQL. PostgreSQL’s feature depth provides growth runway that prevents hitting limitations years into development. Starting with MySQL might save learning curve time initially, but risks expensive re-architecture later when complex queries, write performance, or advanced features become necessary.
Key Takeaways
- PostgreSQL dominates write performance (4.9x faster inserts, 3.5x lower write latency) and overall latency (2.3x lower median) in 2026 benchmarks, with documented production cost savings of $4,800/month
- PostgreSQL overtook MySQL in developer adoption for the first time, reaching 55.6% vs MySQL’s 40.5% in the Stack Overflow 2025 survey, driven by a 7-point jump vs MySQL’s 0.2% stagnation
- MySQL maintains a narrow 20-30% advantage in simple OLTP read operations, but PostgreSQL significantly outperforms on complex queries involving CTEs, window functions, and JSON
- PostgreSQL 18’s asynchronous I/O subsystem delivers up to 3x performance improvements for I/O-intensive workloads where data size exceeds RAM, representing an architectural shift rather than incremental tuning
- Default to PostgreSQL for new projects unless specific workload characteristics (simple read-heavy OLTP, team expertise constraints, or legacy compatibility) favor MySQL 8.4 LTS, and plan immediate migration from MySQL 8.0 before April 2026 EOL


