Executando verificação de segurança...
-1

Como o Vercel lida com PostgreSQL e o que eu precisei ajustar

Vercel e PostgreSQL funcionam, mas tem alguns detalhes que aprendi na prática e que eu gostaria de ter lido antes.

O problema de conexões

Funções serverless abrem uma nova conexão com o banco a cada invocação. Com volume baixo isso não é problema. Com picos de tráfego você pode esgotar o pool de conexões do PostgreSQL rapidamente.

A solução padrão é usar um connection pooler. Eu uso o PgBouncer via Supabase, que é transparente para a aplicação: você aponta para o pooler em vez de direto no banco e ele gerencia as conexões.

Variáveis de ambiente no Vercel

O Vercel tem três ambientes: production, preview e development. Cada um pode ter variáveis diferentes. No começo eu não separei bem isso e o banco de desenvolvimento apontava para produção em alguns contextos.

Valeu configurar explicitamente cada variável por ambiente desde o início.

Migrations em produção

Rodar migrations no Vercel não é óbvio. Não existe um hook de deploy que rode migrations automaticamente de forma segura.

O que eu faço: rodo manualmente antes de fazer deploy quando tem migration. Funciona para um projeto solo. Para um time isso precisaria de uma solução mais robusta.

O que eu recomendaria

Vercel com PostgreSQL é uma boa combinação para projetos pequenos e médios. Só entre sabendo que conexões serverless exigem atenção e que algumas coisas que são automáticas em outras plataformas precisam de configuração explícita aqui.

Carregando publicação patrocinada...