Choosing a database is one of the hardest decisions to reverse. PostgreSQL, MySQL, and SQLite are the three most popular relational databases — but they're optimized for very different use cases. Here's which one matches your project.

Quick Comparison

PostgreSQLMySQLSQLite
TypeObject-relational databaseRelational databaseEmbedded database
Best forComplex apps, data integrityWeb apps, read-heavy workloadsMobile, edge, single-server
ConcurrencyMVCC (excellent)MVCC (good)Single-writer (WAL)
Data typesJSONB, arrays, geospatial, customStandard + JSONLimited (flexible typing)
Full-text searchBuilt-in (excellent)Built-in (basic)FTS5 extension
ExtensionsRich (PostGIS, pgvector, etc.)LimitedRuntime extensions
ReplicationStreaming, logicalGroup, semi-syncNot built-in (Litestream)
ScalingVertical + read replicasVertical + read replicasNot designed to scale
SetupSeparate serverSeparate serverFile-based (zero config)
LicensePostgreSQL LicenseGPL (Oracle)Public Domain

PostgreSQL — The Power User's Database

PostgreSQL (Postgres) is the most capable open-source relational database. It's the default choice for new projects in 2026 for good reason: unmatched feature set, strict SQL compliance, and an extension ecosystem (PostGIS, pgvector, TimescaleDB) that turns it into a specialized engine for any workload.

Strengths: JSONB (indexed JSON) means you can go relational + document in one DB. Array and custom types. Full-text search is built in. Extensions for any use case (vectors, time-series, geospatial). Strictest ACID compliance. Best-in-class MVCC concurrency. Robust replication.

Weaknesses: Requires a server process (more ops overhead than SQLite). Vertical scaling ceiling lower than distributed SQL databases. Configuration tuning for performance. Replication setup is more complex than managed solutions.

Best for: Web applications, SaaS products, any project that needs data integrity, applications that will grow, teams that want one database that does everything.

MySQL — The Web Workhorse

MySQL powers a huge portion of the web. WordPress, Shopify, and countless PHP applications run on it. MySQL 8.0+ has closed many feature gaps with Postgres (window functions, CTEs, JSON), but its philosophy is different: simpler, faster for read-heavy workloads, and easier to operate.

Strengths: Massive adoption (lots of docs and tooling). Excellent read performance. Widest hosting support (every shared host has MySQL). MySQL Workbench for GUI administration. InnoDB is battle-tested. Good for simple schemas and read-heavy apps.

Weaknesses: SQL compliance is looser than Postgres. Fewer advanced data types. Extension ecosystem is much smaller. GPL license (Oracle-owned). Replication is less flexible. Some surprising defaults (silent truncation).

Best for: WordPress/PHP ecosystem projects, read-heavy web apps, projects where operational simplicity matters more than advanced features, teams already familiar with MySQL.

SQLite — The Zero-Config Database

SQLite is fundamentally different: it's a library that reads and writes directly to a single file. No server, no configuration, no permissions. It's the most deployed database in the world — in every phone, browser, and embedded device. In 2026, SQLite is increasingly used for production web apps (via Litestream for replication).

Strengths: Zero setup — just a file. Incredibly reliable (backwards-compatible file format). Perfect for single-server deployments. Litestream adds replication to S3. Excellent for mobile and desktop apps (local-first). Can handle surprising scale (1TB databases, millions of rows).

Weaknesses: Single concurrent writer (queued writes). Not designed for multi-server web apps (no connection pooling). Fewer data types (flexible type system can hide bugs). No built-in user management. Not suitable for high-write-concurrency workloads.

Best for: Mobile and desktop apps, single-server web apps, edge/embedded devices, prototyping and testing, local-first applications, projects that want to minimize ops.

Decision Matrix

ScenarioBest Database
Web app, SaaS, API backendPostgreSQL
WordPress, PHP, shared hostingMySQL
Mobile app (iOS/Android)SQLite
AI/vector searchPostgreSQL + pgvector
Single-server side projectSQLite (zero ops)
Geospatial (maps, locations)PostgreSQL + PostGIS
Maximum managed service optionsPostgreSQL (RDS, Supabase, Neon, etc.)

Bottom line: Default to PostgreSQL for any web application. Use SQLite for mobile apps, side projects, and when you want zero operations overhead. MySQL if you're in the PHP/WordPress ecosystem. See our Supabase vs Firebase vs Neon guide for managed database services.