MySQL vs PostgreSQL - ¿Qué SGBD Elegir en 2026?

Comparativa técnica de los dos SGBD open-source dominantes: MySQL y PostgreSQL. Rendimiento, ecosistema, tipos de datos, casos de uso y tabla resumen.

Introducción

MySQL y PostgreSQL dominan el mercado de las bases de datos relacionales open-source desde hace veinte años. Juntos representan más del 70% de las bases de datos desplegadas en el ecosistema web y SaaS en 2026. Su popularidad es tal que muchos desarrolladores eligen por costumbre, a menudo MySQL porque WordPress y Laravel lo usan por defecto, o PostgreSQL porque Django y Rails empujan hacia él. Esta elección por defecto a veces es subóptima según el proyecto.

El reto de la elección MySQL vs PostgreSQL no es una cuestión de "cuál es mejor en absoluto", los dos son maduros, performantes, fiables y desarrollados activamente. Las verdaderas diferencias se juegan en: la riqueza de los tipos de datos (PostgreSQL gana claramente), la simplicidad operacional (MySQL gana a menudo), los rendimientos en lectura/escritura (según la carga), el ecosistema (herramientas, ORMs, hosting) y la cultura del equipo. Esta guía te da los elementos objetivos para zanjar según tu caso.

MySQL: funcionamiento y ecosistema

MySQL fue creado en 1995 por MySQL AB, comprado por Sun en 2008 y luego por Oracle en 2010. Es hoy el SGBD open-source más desplegado en el mundo, en gran parte gracias al stack LAMP (Linux/Apache/MySQL/PHP) que alimentó la explosión de la web. WordPress, Drupal, Joomla, Magento y Laravel usan MySQL por defecto. Su versión 8.0 (y la 8.4 LTS lanzada en 2024) aporta mejoras significativas: window functions, JSON_TABLE, CTEs recursivas y un motor InnoDB rediseñado.

  • Motor de almacenamiento: InnoDB por defecto (transaccional ACID, row-level locking). MyISAM existe todavía para usos muy específicos pero no soporta transacciones.
  • Fortalezas: extremadamente simple de administrar, ecosistema pletórico (phpMyAdmin, MySQL Workbench), replicación master-replica muy madura, rendimientos brutos en lectura excelentes.
  • Debilidades: menos rico que PostgreSQL en tipos de datos (sin arrays nativos, sin tipos geométricos de base), motor de optimización un poco menos sofisticado, gestión de transacciones más permisiva.
  • Hosting: disponible por defecto en el 100% de las ofertas compartidas y VPS del mercado.

PostgreSQL: fortalezas y diferenciación

PostgreSQL (a menudo abreviado "Postgres") existe desde 1986 (como proyecto académico POSTGRES en Berkeley) y se convirtió en open-source bajo licencia permisiva en 1996. Su desarrollo está dirigido por una comunidad descentralizada, ninguna empresa lo controla. En 2026, PostgreSQL se ha convertido en la base de datos "por defecto" de las nuevas aplicaciones SaaS modernas, los proyectos Django/Rails/Node.js y los productos data-intensivos (analítica, ML, geoespacial).

  • Tipos de datos ricos: JSON/JSONB nativos con indexación GIN, arrays, intervalos, UUID, tipos geométricos (PostGIS), tipos personalizados.
  • Fortalezas: extremadamente estricto sobre ACID e integridad referencial, optimizador de consultas muy sofisticado, soporte de funcionalidades avanzadas (CTEs recursivas, window functions, full-text search nativo, índices parciales), extensibilidad (extensiones: PostGIS, pg_trgm, TimescaleDB, pgvector para IA).
  • Debilidades: curva de aprendizaje ligeramente más empinada, configuración más densa (postgresql.conf cuenta ~300 parámetros), replicación históricamente más compleja (grandes progresos recientes).
  • Hosting: disponible en todos los VPS modernos. En hosting compartido, menos sistemático que MySQL, verifica antes.

Tabla comparativa funcional

Comparativa cara a cara sobre los criterios que importan en 2026:

¿Cuándo elegir MySQL?

  • WordPress, WooCommerce, Drupal, Magento: MySQL es la elección por defecto, ecosistema optimizado.
  • Laravel + Eloquent: Laravel funciona perfectamente con PostgreSQL, pero la comunidad Laravel sigue mayoritariamente en MySQL.
  • Cargas muy lectura-intensivas simples: lookups por clave primaria masivos (caching, sesiones).
  • Equipo poco experimentado en DB: MySQL perdona más, la administración es más simple.
  • Hosting compartido: MySQL está universalmente disponible, PostgreSQL a veces ausente.

¿Cuándo elegir PostgreSQL?

  • Aplicación SaaS moderna: Django, Rails, Next.js + Prisma, FastAPI, el ecosistema empuja hacia Postgres.
  • Datos semi-estructurados (JSON): PostgreSQL con JSONB e indexación GIN supera a MySQL en consultas JSON complejas.
  • Geoespacial: PostGIS es la referencia mundial, sin equivalente en MySQL.
  • Analítica ligera, reporting: optimizador de consultas y window functions más maduros.
  • Integridad fuerte exigida: finanzas, salud, auditoría, Postgres es estricto sobre ACID.
  • Vector search / IA: extensión pgvector para almacenar embeddings y hacer búsquedas semánticas.

¿Y MariaDB en todo esto?

MariaDB es un fork de MySQL creado en 2009 por los desarrolladores originales de MySQL, tras la compra por Oracle. MariaDB y MySQL siguen siendo ampliamente compatibles (mismos drivers, sintaxis SQL casi idéntica), pero han divergido en ciertos puntos: MariaDB añade motores especializados (ColumnStore para analítica, Spider para sharding), funciones JSON diferentes y un comportamiento por defecto un poco más estricto. En el hosting compartido francés (OVH, o2switch, Infomaniak), MariaDB se instala a menudo por defecto en lugar de MySQL, esto no cambia nada a tu código aplicativo en el 95% de los casos.

MySQL vs PostgreSQL - Comparativa funcional

MySQL vs PostgreSQL - Comparativa funcional
Criterio MySQL PostgreSQL
Licencia GPL (Oracle) PostgreSQL License (permisiva, tipo BSD)
ACID Sí (InnoDB) Sí, estricto por defecto
JSON / JSONB JSON nativo, indexación posible JSONB + GIN, referencia del mercado
Full-text search FULLTEXT InnoDB (correcto) Tsvector + indexación GIN (muy completo)
Replicación Master-replica muy madura, simple Streaming + logical replication (potente)
Rendimiento lecturas Excelente, sobre todo lookups simples Excelente, optimizador más sofisticado
Rendimiento escrituras Muy bueno (InnoDB row-lock) Muy bueno, MVCC eficiente
Extensibilidad Limitada (plugins de motor) Extensiones (PostGIS, pgvector, TimescaleDB)
Caso de uso típico WordPress, Magento, Laravel, sesiones SaaS, Django/Rails, geo, analítica, IA
Comunidad Enorme, respaldada por Oracle Enorme, comunitaria e independiente

Preguntas frecuentes

Depende de la carga. En lookups simples masivos (sesiones, caché), MySQL/InnoDB es muy eficiente. En consultas complejas (multi-joins, agregaciones, window functions), PostgreSQL a menudo supera a MySQL gracias a su optimizador más sofisticado. La diferencia raramente es dramática por debajo de unos millones de registros.

Oficialmente, no. WordPress solo soporta MySQL/MariaDB nativamente. Existen proyectos no oficiales (HyperDB, plugins de portabilidad) pero poco mantenidos. Para WordPress, quédate con MySQL o MariaDB.

Para un SaaS moderno con stack Django/Rails/Next.js/FastAPI, PostgreSQL es ampliamente recomendado por la comunidad: riqueza de tipos, JSONB para esquemas semi-estructurados, ecosistema gestionado excelente (Neon, Supabase, RDS, By-Hoster VPS).

Sí para la mayoría de proyectos. MariaDB es 100% compatible con MySQL para el código aplicativo WordPress/Laravel/Symfony estándar. Aporta algunas funcionalidades adicionales (motores especializados, JSON, seguridad). Muchos proveedores han reemplazado MySQL por MariaDB sin que los clientes se den cuenta.

Tres etapas: 1) Exportar el esquema con mysqldump --no-data luego adaptar los tipos (TINYINT, ENUM, etc.). 2) Migrar los datos vía pgloader que automatiza gran parte. 3) Adaptar el código aplicativo: sintaxis SQL específica (LIMIT vs LIMIT/OFFSET, AUTOINCREMENT vs SERIAL, funciones de fecha). Cuenta de 1 a 5 días según el tamaño.

Ligeramente, sí. PostgreSQL usa un proceso por conexión (más costoso que los threads MySQL), lo que empuja al uso de un pool de conexiones como PgBouncer. En la práctica, en un VPS 2 GB, los dos funcionan cómodamente con algunas optimizaciones de shared_buffers (Postgres) o innodb_buffer_pool_size (MySQL).