PostgreSQL ou MySQL pour l'entreprise : que choisir pour un nouveau projet
PostgreSQL et MySQL sont les deux bases de données relationnelles les plus utilisées pour les projets web. Le choix se fait au démarrage du développement et influence le coût d'hébergement, la facilité à recruter des développeurs, les capacités analytiques et la complexité de migration après 2-3 ans. Pour le dirigeant, ce n'est pas un "détail technique", mais une décision du niveau "Excel ou CRM" : une erreur dans le cahier des charges coûte plus cher qu'une heure de discussion avec le prestataire avant signature.
- MySQL - standard pour WordPress, hébergement PHP et boutiques en ligne typiques
- PostgreSQL - souvent choisi pour Django, SaaS, analytics complexe et règles strictes sur les données
- Les deux - bases SQL : commandes, clients, produits dans des tables liées
- Critère principal - pas "ce qui est à la mode", mais stack du projet, budget hébergement et plans de croissance
- Changer de BD plus tard - possible, mais coûte $3 000 - $30 000+ et 2-8 semaines de travail
- Risque - choisir PostgreSQL "pour l'avenir" pour un simple landing ou MySQL pour une plateforme complexe
PostgreSQL et MySQL en langage simple
MySQL et PostgreSQL sont des programmes serveur qui stockent les données métier dans des tables : clients, commandes, produits, factures, logs. Le site et le CRM n'écrivent pas dans des fichiers HTML - ils envoient des commandes en SQL, la base renvoie lignes et chiffres.
Les deux systèmes :
- supportent des millions d'enregistrements bien configurés ;
- permettent des sauvegardes en fichiers
.sql; - fonctionnent avec PHP, Python, Node.js et les frameworks modernes ;
- exigent un hébergement dédié ou un VPS - pas "un dossier FTP".
MySQL domine l'hébergement mutualisé et les CMS : WordPress, OpenCart, Bitrix, Laravel arrivent souvent avec MySQL. Plus sur où sont stockées commandes et utilisateurs dans MySQL en langage simple.
PostgreSQL est plus souvent déployé sur VPS et cloud, recommandation par défaut pour Django/Python et de nombreuses architectures SaaS. Points forts : intégrité des données, JSON, géodonnées, recherche full-text, rapports complexes.
| Critère | MySQL | PostgreSQL |
|---|---|---|
| Stack typique | WordPress, PHP, Bitrix, OpenCart | Django, FastAPI, Ruby on Rails, enterprise |
| Hébergement | Presque tout forfait dès $3/mois | Souvent VPS/cloud dès $10-20/mois |
| Barrière d'entrée | Plus basse, plus de spécialistes | Plus haute, suffisante pour stack Python |
| Intégrité des données | Plus flexible, rapide sur schémas simples | Plus strict : moins d'erreurs silencieuses |
| JSON et champs flexibles | Oui (depuis v8) | Plus fort nativement |
| Analytics et rapports | Bien pour tâches typiques | Mieux pour JOIN complexes et fonctions fenêtre |
| Licence | Open source (Oracle) / MariaDB | Open source (PostgreSQL License) |
Quand choisir MySQL
MySQL est un choix raisonnable si le projet ne dépasse pas le web typique :
WordPress, WooCommerce, Bitrix, OpenCart
Les CMS et moteurs de boutique sont conçus pour MySQL. Hébergement "Installer WordPress" en un clic signifie presque toujours MySQL ou MariaDB.
Budget infrastructure limité
En mutualisé MySQL est inclus. PostgreSQL exige souvent VPS, BD managée ou cloud - +$10-50/mois.
Équipe et prestataire PHP
Les développeurs PHP travaillent massivement avec MySQL. Moins de surprises au changement de prestataire.
Schéma de données simple
Catalogue jusqu'à 50 000 SKU, commandes, utilisateurs, blog, formulaires - MySQL tient des années.
Signaux "MySQL suffit" :
- site sur PHP et WordPress ;
- pas d'analytics complexe dans la BD ;
- budget hébergement jusqu'à $30-50/mois ;
- pas de migration vers Django prévue dans l'année.
Quand choisir PostgreSQL
PostgreSQL se justifie quand les données sont le cœur du produit :
Plateforme sur mesure Python/Django
Django recommande PostgreSQL. ORM, migrations, recherche full-text, JSONField, PostGIS - mieux avec PostgreSQL.
Logique métier complexe et règles strictes
Entrepôts multiples, multidevise, remises complexes, workflows d'approbation, audit log - PostgreSQL impose l'intégrité plus strictement.
Analytics, rapports, BI dans la BD
Réponses du type "marge par région avec retours sur 18 mois" sans Excel hebdomadaire - PostgreSQL est plus confortable pour SQL complexe.
JSON, intégrations, journal d'événements
SaaS, produits API-first, attributs flexibles - PostgreSQL gère mieux les données semi-structurées.
Plans de scale et plusieurs services
Microservices, réplicas lecture pour rapports - PostgreSQL est plus choisi dans les architectures en croissance.
Signaux "PostgreSQL nécessaire" :
- développement Django, FastAPI, Rails avec logique sur mesure ;
- e-commerce ou portail B2B sans CMS prêt ;
- audit trail, rôles, relations complexes ;
- produit prévu pour 5+ ans.
Comparaison par scénario métier
| Scénario | Recommandation | Pourquoi |
|---|---|---|
| Site corporate WordPress | MySQL / MariaDB | Standard CMS, hébergement bon marché |
| Boutique OpenCart / Bitrix | MySQL | Compatibilité, plugins |
| MVP SaaS Django | PostgreSQL | Stack, JSON, scale |
| Marketplace logique sur mesure | PostgreSQL | Relations, transactions |
| Landing + CRM via Zapier | BD du CRM | Le site peut ne pas avoir de BD |
| Migration WP vers Python | PostgreSQL | Étape logique avec changement de stack |
Règle pour dirigeants : demandez "quel stack recommandez-vous et pourquoi", pas "qu'est-ce qui est mieux sur internet".
Hébergement, coût, exploitation
MySQL
- Mutualisé - souvent $3-15/mois avec phpMyAdmin ;
- VPS - MySQL gratuit, serveur $5-40/mois ;
- MySQL managé - dès $15/mois.
PostgreSQL
- Mutualisé - rare ;
- VPS + self-hosted - $10-40/mois ;
- PostgreSQL managé - dès $15-25/mois.
Coûts cachés - temps équipe : mauvais index, pas de backups, un mot de passe pour tout. Également dangereux pour les deux.
Questions au prestataire avant le démarrage
- Quel framework et CMS ? WordPress → MySQL. Django → PostgreSQL.
- Où vivra la BD ? Qui fait les backups ?
- Plan de migration si Excel ou ancienne BD existent.
- Version - MySQL 8+, MariaDB 10.6+, PostgreSQL 15+.
- Changement de BD dans 2 ans ? - "oui, mais cher" est plus honnête.
Fixez le choix dans le cahier des charges : "SGBD : PostgreSQL 16 sur managed DigitalOcean" ou "MySQL 8, compatible WordPress 6.x".
Synthèse : schéma pratique
WordPress / PHP / CMS prêt → MySQL (ou MariaDB)
Django / FastAPI / SaaS sur mesure → PostgreSQL
Stack inconnu, budget <$20/mois → MySQL sur hébergement éprouvé
Données complexes, produit long → PostgreSQL
MySQL - pour site et boutique typiques sur CMS populaires. PostgreSQL - pour produits où la BD est un avantage compétitif.
Discutez le choix avant un contrat de 6 mois. Changer de SGBD après lancement reste un projet à part.
Questions fréquentes
Peut-on migrer de MySQL vers PostgreSQL plus tard ?
Oui, mais c'est une migration. Budget $3 000 - $30 000+ et 2-8 semaines. Si Django est prévu dans l'année, mieux vaut PostgreSQL dès le départ.
Que choisissent WordPress et Laravel par défaut ?
WordPress - MySQL ou MariaDB. Laravel supporte MySQL, PostgreSQL, SQLite et SQL Server - l'équipe choisit. En mutualisé bon marché souvent MySQL ; en VPS pour API/SaaS - PostgreSQL.
PostgreSQL est-il obligatoire pour analytics complexe ?
Non, mais plus pratique. Rapports complexes aussi sur MySQL, BI ou Python avec pandas. PostgreSQL gagne quand l'analytics lourde vit dans la même BD que les transactions.
Combien coûte l'hébergement PostgreSQL vs MySQL ?
MySQL mutualisé - $0-15/mois. PostgreSQL managé - $15-40/mois. Écart $100-300/an - peu vs développement, notable pour site vitrine. Pour MVP WordPress - MySQL plus économique.
Et si l'équipe ne connaît que MySQL ?
Pour WordPress et PHP - pas de problème. Pour Django/SaaS - cherchez expérience PostgreSQL ou budget formation et hébergement managé. L'important est une évaluation honnête des compétences.