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 (références produit), 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 (module pour cartes et géodonnées) - 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, sans administrateur de base de données (DBA) dédié.
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.
Quand un changement ou un choix de SGBD "à la mode" n'est pas justifié :
- PostgreSQL "pour l'avenir" sur un blog ou une landing WordPress - surcoût d'infrastructure et maintenance plus complexe sans bénéfice réel ;
- MySQL "parce que c'est moins cher" pour un SaaS sur Django - limites et dette technique dès le premier sprint ;
- changer une base qui fonctionne sans goulot d'étranglement réel ni changement de stack prévu - risque pour les données et le budget sans gain mesurable ;
- migrer "par précaution" pour une croissance qui n'est pas planifiée dans l'année - cet argent et ce temps sont mieux investis dans le produit actuel.
Discutez le choix avant un contrat de 6 mois. Changer de SGBD après lancement reste un projet à part.
Si vous avez besoin d'aide pour le développement, l'intégration de l'IA ou la maintenance de site pour votre projet - contactez-moi.
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.
Termes de l'article
CRM — Customer Relationship Management — gestion de la relation client
SaaS — Software as a Service — logiciel en tant que service
OpenCart — open-source PHP e-commerce platform — plateforme e-commerce PHP open-source
VPS — Virtual Private Server — serveur privé virtuel
FTP — File Transfer Protocol — protocole de transfert de fichiers
CMS — Content Management System — système de gestion de contenu
FastAPI — modern Python framework for APIs — framework Python moderne pour API
open source — software with publicly available source code — logiciel au code source public
SKU — Stock Keeping Unit — unité de gestion des stocks
audit log — chronologically recorded trail of who did what — journal de qui a fait quoi et quand
ORM — Object-Relational Mapping — mapping objet-relationnel
e-commerce — online selling of goods or services — vente en ligne de biens ou services
audit trail — verifiable history of actions and changes — historique vérifiable des actions et changements
B2B — Business to Business — entre entreprises
self-hosted — software you run on your own servers — logiciel que vous hébergez sur vos serveurs
Zapier — SaaS that connects apps with no-code automations — SaaS qui relie des apps par automatisations no-code
MVP — Minimum Viable Product — produit minimum viable
BI — Business Intelligence — intelligence d'affaires