PostgreSQL o MySQL para negocios: qué elegir en un proyecto nuevo
PostgreSQL y MySQL son las dos bases de datos relacionales más usadas en proyectos web. La elección se hace al inicio del desarrollo y afecta el coste del hosting, la facilidad para contratar desarrolladores, las capacidades analíticas y la complejidad de migración a los 2-3 años. Para el dueño del negocio no es un "detalle técnico", sino una decisión del nivel "Excel o CRM": un error en el pliego cuesta más que una hora de conversación con el proveedor antes de firmar.
- MySQL - estándar para WordPress, hosting PHP y tiendas online típicas
- PostgreSQL - a menudo elegido para Django, SaaS, analítica compleja y reglas estrictas de datos
- Ambas - bases SQL: pedidos, clientes y productos en tablas relacionadas
- Criterio principal - no "qué está de moda", sino stack del proyecto, presupuesto de hosting y planes de crecimiento
- Cambiar de BD después - posible, pero cuesta $3.000 - $30.000+ y 2-8 semanas de trabajo
- Riesgo - elegir PostgreSQL "por si acaso" para un landing simple o MySQL para una plataforma compleja
PostgreSQL y MySQL en lenguaje sencillo
MySQL y PostgreSQL son programas en el servidor que guardan datos del negocio en tablas: clientes, pedidos, productos, facturas, logs. El sitio y el CRM no escriben datos en archivos HTML - envían comandos en SQL y la base devuelve filas y números.
Ambos sistemas:
- soportan millones de registros con buena configuración;
- permiten copias de seguridad en archivos
.sql; - funcionan con PHP, Python, Node.js y frameworks modernos;
- requieren hosting aparte o VPS - no es "una carpeta en FTP".
MySQL domina el hosting compartido y los CMS: WordPress, OpenCart, Bitrix, Laravel suelen venir con MySQL. Más sobre dónde se guardan pedidos y usuarios en MySQL en lenguaje sencillo.
PostgreSQL se despliega más en VPS y nube, y es la recomendación por defecto para Django/Python y muchas arquitecturas SaaS. Destaca en integridad de datos, JSON, geodatos, búsqueda full-text e informes complejos.
| Criterio | MySQL | PostgreSQL |
|---|---|---|
| Stack típico | WordPress, PHP, Bitrix, OpenCart | Django, FastAPI, Ruby on Rails, enterprise |
| Hosting | Casi en cualquier plan desde $3/mes | A menudo VPS/nube desde $10-20/mes |
| Barrera de entrada | Menor, más especialistas | Mayor, suficiente para stack Python |
| Integridad de datos | Más flexible, rápido en esquemas simples | Más estricto: menos errores silenciosos |
| JSON y campos flexibles | Sí (desde v8) | Más fuerte de serie |
| Analítica e informes | Bien para tareas típicas | Mejor para JOIN complejos y funciones ventana |
| Licencia | Open source (Oracle) / MariaDB | Open source (PostgreSQL License) |
Cuándo elegir MySQL
MySQL es una opción sensata si el proyecto no sale del web típico:
WordPress, WooCommerce, Bitrix, OpenCart
Los CMS y motores de tienda están hechos para MySQL. Hosting con "Instalar WordPress" en un clic casi siempre significa MySQL o MariaDB. Cambiar a PostgreSQL "por moda" añade riesgo sin beneficio.
Presupuesto limitado de infraestructura
En hosting compartido MySQL viene incluido. PostgreSQL suele requerir VPS, BD gestionada o instancia en nube - +$10-50/mes extra.
Equipo y proveedor en PHP
Desarrolladores y agencias PHP trabajan masivamente con MySQL. Menos sorpresas al cambiar de proveedor.
Esquema de datos simple
Catálogo hasta 50.000 SKU, pedidos, usuarios, blog, formularios - MySQL aguanta años. El cuello de botella suele ser código, caché y hosting.
Señales "MySQL basta":
- sitio en PHP y WordPress;
- sin analítica compleja dentro de la BD;
- presupuesto de hosting hasta $30-50/mes;
- sin plan de migración a Django en un año.
Cuándo elegir PostgreSQL
PostgreSQL tiene sentido cuando los datos son el núcleo del producto:
Plataforma a medida en Python/Django
Django recomienda PostgreSQL. ORM, migraciones, búsqueda full-text, JSONField, PostGIS - funciona mejor con PostgreSQL.
Lógica de negocio compleja y reglas estrictas
Varios almacenes, multimoneda, descuentos complejos, flujos de aprobación, audit log - PostgreSQL refuerza la integridad.
Analítica, informes, BI en la BD
Respuestas como "margen por región con devoluciones en 18 meses" sin Excel semanal - PostgreSQL es más cómodo para SQL complejo.
JSON, integraciones, log de eventos
SaaS, productos API-first, atributos flexibles - PostgreSQL maneja mejor datos semiestructurados.
Planes de escala y varios servicios
Microservicios, réplicas de lectura para informes - PostgreSQL se elige más en arquitecturas en crecimiento.
Señales "hace falta PostgreSQL":
- desarrollo en Django, FastAPI, Rails con lógica a medida;
- e-commerce o portal B2B sin CMS listo;
- audit trail, roles, relaciones complejas;
- producto pensado para 5+ años.
Comparación por escenario de negocio
| Escenario | Recomendación | Por qué |
|---|---|---|
| Sitio corporativo en WordPress | MySQL / MariaDB | Estándar CMS, hosting barato |
| Tienda en OpenCart / Bitrix | MySQL | Compatibilidad, plugins |
| MVP SaaS en Django | PostgreSQL | Stack, JSON, escala |
| Marketplace con lógica a medida | PostgreSQL | Relaciones, transacciones |
| Landing + CRM vía Zapier | BD del CRM | El sitio puede no necesitar BD propia |
| Migración de WP a Python | PostgreSQL | Paso lógico con cambio de stack |
Regla para directivos: pregunte "qué stack recomiendan y por qué", no "qué es mejor en internet".
Hosting, coste y operación
MySQL
- Hosting compartido - a menudo $3-15/mes con phpMyAdmin;
- VPS - MySQL gratis, servidor $5-40/mes;
- MySQL gestionado - desde $15/mes.
PostgreSQL
- Hosting compartido - raro;
- VPS + self-hosted - $10-40/mes;
- PostgreSQL gestionado - desde $15-25/mes.
Los costes ocultos son tiempo del equipo: índices mal hechos, sin backups, una contraseña para todo. Igual de peligroso en ambas.
Qué preguntar al proveedor antes de empezar
- ¿Qué framework y CMS? WordPress → MySQL. Django → PostgreSQL.
- ¿Dónde vivirá la BD? ¿Quién hace backups?
- Plan de migración si ya hay Excel o BD antigua.
- Versión - MySQL 8+, MariaDB 10.6+, PostgreSQL 15+.
- ¿Se puede cambiar de BD en 2 años? - "sí, pero caro" es más honesto.
Fije la elección en el pliego técnico: "SGBD: PostgreSQL 16 en managed DigitalOcean" o "MySQL 8, compatible WordPress 6.x".
Resumen: esquema práctico
WordPress / PHP / CMS listo → MySQL (o MariaDB)
Django / FastAPI / SaaS a medida → PostgreSQL
Stack desconocido, <$20/mes → MySQL en hosting probado
Datos complejos, producto largo → PostgreSQL
MySQL - para sitio y tienda típicos en CMS populares. PostgreSQL - para productos donde la BD es ventaja competitiva.
Discuta la elección antes de firmar un contrato de 6 meses. Cambiar SGBD tras el lanzamiento es siempre un proyecto aparte.
Preguntas frecuentes
¿Se puede migrar de MySQL a PostgreSQL después?
Sí, pero es una migración. Presupuesto $3.000 - $30.000+ y 2-8 semanas. Si planea Django en un año, mejor PostgreSQL desde el inicio.
¿Qué eligen WordPress y Laravel por defecto?
WordPress - MySQL o MariaDB. Laravel soporta MySQL, PostgreSQL, SQLite y SQL Server - el equipo elige. En hosting barato suele ser MySQL; en VPS para API/SaaS - PostgreSQL.
¿PostgreSQL es obligatorio para analítica compleja?
No, pero más cómodo. Informes complejos también sobre MySQL, BI o Python con pandas. PostgreSQL gana cuando la analítica pesada vive en la misma BD que las transacciones.
¿Cuánto cuesta el hosting PostgreSQL vs MySQL?
MySQL compartido - $0-15/mes. PostgreSQL gestionado - $15-40/mes. Diferencia $100-300/año - poco frente al desarrollo, notable en sitio-vitrina. Para MVP WordPress - MySQL más económico.
¿Y si el equipo solo conoce MySQL?
Para WordPress y PHP - no hay problema. Para Django/SaaS - busque experiencia en PostgreSQL o presupuesto para formación y hosting gestionado. Lo importante es una evaluación honesta de competencias.