O n8n usa SQLite por padrão em instalações self-hosted, mas isso pode gerar gargalos de desempenho e concorrência em cenários com múltiplos acessos simultâneos. Para ambientes de produção ou workflows de grande escala, a recomendação oficial é migrar para PostgreSQL.
Banco de dados padrão no n8n
Self-hosted: por padrão, utiliza SQLite (leve, embutido, sem necessidade de servidor separado).
n8n Cloud: planos básicos usam SQLite; apenas planos Enterprise usam PostgreSQL.
Limitações do SQLite
Concorrência limitada: não lida bem com múltiplas conexões simultâneas.
Escalabilidade restrita: adequado apenas para testes, ambientes pessoais ou pequenos projetos.
Risco de bloqueios: em workflows com muitos acessos, pode ocorrer lentidão ou falhas de escrita/leitura.
Recomendações para produção
Migrar para PostgreSQL:
Melhor suporte a conexões simultâneas.
Transações robustas e maior confiabilidade.
Ferramentas de backup, replicação e escalabilidade.
Configuração básica:
Definir variáveis do ambiente Docker:
DB_TYPE=postgresdb DB_POSTGRESDB_DATABASE, DB_POSTGRESDB_HOST, DB_POSTGRESDB_USER, DB_POSTGRESDB_PASSWORD
Criar usuário e banco dedicados para o n8n.
Comparativo Rápido
| Critério | SQLite (default) | PostgreSQL (recomendado) |
|---|---|---|
| Instalação | Simples, embutido | Requer servidor dedicado |
| Concorrência | Limitada | Alta, ideal para múltiplos acessos |
| Escalabilidade | Baixa | Elevada, suporta clusters |
| Manutenção | Fácil | Mais complexa, mas robusta |
| Uso ideal | Testes, projetos pequenos | Produção, workflows críticos |
Considerações finais
Se você pretende rodar o n8n em produção com múltiplos usuários ou workflows pesados, não use SQLite. Configure PostgreSQL para garantir estabilidade, desempenho e escalabilidade.
Feito!
Nenhum comentário:
Postar um comentário