PostgreSQL ou MySQL para negócios: o que escolher em um projeto novo
PostgreSQL e MySQL são os dois bancos de dados relacionais mais usados em projetos web. A escolha é feita no início do desenvolvimento e afeta custo de hosting, facilidade para contratar desenvolvedores, capacidades analíticas e complexidade de migração em 2-3 anos. Para o dono do negócio não é um "detalhe técnico", e sim uma decisão no nível "Excel ou CRM": erro no escopo custa mais que uma hora de conversa com o fornecedor antes de assinar.
- MySQL - padrão para WordPress, hosting PHP e lojas online típicas
- PostgreSQL - frequentemente escolhido para Django, SaaS, analytics complexa e regras rígidas de dados
- Ambos - bancos SQL: pedidos, clientes e produtos em tabelas relacionadas
- Critério principal - não "o que está na moda", e sim stack do projeto, orçamento de hosting e planos de crescimento
- Trocar de BD depois - possível, mas custa $3.000 - $30.000+ e 2-8 semanas de trabalho
- Risco - escolher PostgreSQL "por precaução" para landing simples ou MySQL para plataforma complexa
PostgreSQL e MySQL em linguagem simples
MySQL e PostgreSQL são programas no servidor que armazenam dados do negócio em tabelas: clientes, pedidos, produtos, faturas, logs. O site e o CRM não gravam dados em arquivos HTML - enviam comandos em SQL e o banco devolve linhas e números.
Ambos os sistemas:
- suportam milhões de registros com configuração adequada;
- permitem backups em arquivos
.sql; - funcionam com PHP, Python, Node.js e frameworks modernos;
- exigem hosting separado ou VPS - não é "pasta no FTP".
MySQL domina hosting compartilhado e CMS: WordPress, OpenCart, Bitrix, Laravel costumam vir com MySQL. Mais sobre onde ficam pedidos e usuários em MySQL em linguagem simples.
PostgreSQL é mais comum em VPS e nuvem, recomendado por padrão para Django/Python e muitas arquiteturas SaaS. Destaca-se em integridade, JSON, geodados, busca full-text e relatórios complexos.
| Critério | MySQL | PostgreSQL |
|---|---|---|
| Stack típico | WordPress, PHP, Bitrix, OpenCart | Django, FastAPI, Ruby on Rails, enterprise |
| Hosting | Quase em qualquer plano a partir de $3/mês | Frequentemente VPS/nuvem a partir de $10-20/mês |
| Barreira de entrada | Menor, mais especialistas | Maior, suficiente para stack Python |
| Integridade de dados | Mais flexível, rápido em esquemas simples | Mais rígido: menos erros silenciosos |
| JSON e campos flexíveis | Sim (desde v8) | Mais forte nativamente |
| Analytics e relatórios | Bom para tarefas típicas | Melhor para JOINs complexos e funções de janela |
| Licença | Open source (Oracle) / MariaDB | Open source (PostgreSQL License) |
Quando escolher MySQL
MySQL é escolha sensata se o projeto não ultrapassa o web típico:
WordPress, WooCommerce, Bitrix, OpenCart
CMS e motores de loja são feitos para MySQL. Hosting com "Instalar WordPress" em um clique quase sempre significa MySQL ou MariaDB.
Orçamento limitado de infraestrutura
Em hosting compartilhado MySQL vem incluído. PostgreSQL frequentemente exige VPS, BD gerenciado ou instância na nuvem - +$10-50/mês.
Equipe e fornecedor em PHP
Desenvolvedores PHP trabalham massivamente com MySQL. Menos surpresas ao trocar de fornecedor.
Esquema de dados simples
Catálogo até 50.000 SKUs, pedidos, usuários, blog, formulários - MySQL aguenta anos.
Sinais "MySQL basta":
- site em PHP e WordPress;
- sem analytics complexa dentro do BD;
- orçamento de hosting até $30-50/mês;
- sem plano de migração para Django em um ano.
Quando escolher PostgreSQL
PostgreSQL faz sentido quando dados são o núcleo do produto:
Plataforma customizada em Python/Django
Django recomenda PostgreSQL. ORM, migrações, busca full-text, JSONField, PostGIS - funciona melhor com PostgreSQL.
Lógica de negócio complexa e regras rígidas
Vários armazéns, multimoeda, descontos complexos, fluxos de aprovação, audit log - PostgreSQL reforça integridade.
Analytics, relatórios, BI no BD
Respostas como "margem por região com devoluções em 18 meses" sem Excel semanal - PostgreSQL é mais confortável para SQL complexo.
JSON, integrações, log de eventos
SaaS, produtos API-first, atributos flexíveis - PostgreSQL lida melhor com dados semiestruturados.
Planos de escala e vários serviços
Microserviços, réplicas read-only para relatórios - PostgreSQL é mais escolhido em arquiteturas em crescimento.
Sinais "precisa PostgreSQL":
- desenvolvimento em Django, FastAPI, Rails com lógica customizada;
- e-commerce ou portal B2B sem CMS pronto;
- audit trail, papéis, relações complexas;
- produto pensado para 5+ anos.
Comparação por cenário de negócio
| Cenário | Recomendação | Por quê |
|---|---|---|
| Site corporativo em WordPress | MySQL / MariaDB | Padrão CMS, hosting barato |
| Loja em OpenCart / Bitrix | MySQL | Compatibilidade, plugins |
| MVP SaaS em Django | PostgreSQL | Stack, JSON, escala |
| Marketplace com lógica customizada | PostgreSQL | Relações, transações |
| Landing + CRM via Zapier | BD do CRM | Site pode não precisar de BD próprio |
| Migração de WP para Python | PostgreSQL | Passo lógico com mudança de stack |
Regra para diretores: pergunte "qual stack recomendam e por quê", não "o que é melhor na internet".
Hosting, custo e operação
MySQL
- Hosting compartilhado - frequentemente $3-15/mês com phpMyAdmin;
- VPS - MySQL grátis, servidor $5-40/mês;
- MySQL gerenciado - a partir de $15/mês.
PostgreSQL
- Hosting compartilhado - raro;
- VPS + self-hosted - $10-40/mês;
- PostgreSQL gerenciado - a partir de $15-25/mês.
Custos ocultos - tempo da equipe: índices errados, sem backups, uma senha para tudo. Igualmente perigoso em ambos.
O que perguntar ao fornecedor antes de começar
- Qual framework e CMS? WordPress → MySQL. Django → PostgreSQL.
- Onde ficará o BD? Quem faz backups?
- Plano de migração se já há Excel ou BD antigo.
- Versão - MySQL 8+, MariaDB 10.6+, PostgreSQL 15+.
- Dá para trocar de BD em 2 anos? - "sim, mas caro" é mais honesto.
Registre a escolha no escopo técnico: "SGBD: PostgreSQL 16 em managed DigitalOcean" ou "MySQL 8, compatível WordPress 6.x".
Resumo: fluxo prático
WordPress / PHP / CMS pronto → MySQL (ou MariaDB)
Django / FastAPI / SaaS custom → PostgreSQL
Stack desconhecido, <$20/mês → MySQL em hosting confiável
Dados complexos, produto longo → PostgreSQL
MySQL - para site e loja típicos em CMS populares. PostgreSQL - para produtos onde o BD é vantagem competitiva.
Discuta a escolha antes de assinar contrato de 6 meses. Trocar SGBD após o lançamento é sempre um projeto separado.
Perguntas frequentes
Dá para migrar de MySQL para PostgreSQL depois?
Sim, mas é migração. Orçamento $3.000 - $30.000+ e 2-8 semanas. Se planeja Django em um ano, melhor PostgreSQL desde o início.
O que WordPress e Laravel escolhem por padrão?
WordPress - MySQL ou MariaDB. Laravel suporta MySQL, PostgreSQL, SQLite e SQL Server - a equipe escolhe. Em hosting barato costuma ser MySQL; em VPS para API/SaaS - PostgreSQL.
PostgreSQL é obrigatório para analytics complexa?
Não, mas mais conveniente. Relatórios complexos também sobre MySQL, BI ou Python com pandas. PostgreSQL ganha quando analytics pesada vive no mesmo BD que transações.
Quanto custa hosting PostgreSQL vs MySQL?
MySQL compartilhado - $0-15/mês. PostgreSQL gerenciado - $15-40/mês. Diferença $100-300/ano - pouco frente ao desenvolvimento, notable em site-vitrine. Para MVP WordPress - MySQL mais econômico.
E se a equipe só conhece MySQL?
Para WordPress e PHP - sem problema. Para Django/SaaS - busque experiência em PostgreSQL ou orçamento para treinamento e hosting gerenciado. O importante é avaliação honesta de competências.