Extensão Database
PostgreSQL gerenciado para o seu app, com backups automáticos e zero configuração para rodar em Rails.
O que a Extensão entrega
Todo app não-estático nasce com um PostgreSQL gerenciado: banco, usuário e credencial dedicados ao app, com backups automáticos. Não é preciso subir um banco à parte nem configurar réplica — a Extensão Database já entrega isso pronto no primeiro deploy.
O primeiro banco (plano base) é
cortesia — um por time, não por app. Times com mais de um app pagam o
plano de catálogo a partir do segundo banco.
Variável de ambiente injetada
O Jataí injeta DATABASE_URL
automaticamente no app — nenhuma configuração manual é necessária.
DATABASE_URL=postgresql://usuario:senha@host:6432/banco?prepared_statements=false
A conexão do app passa por um pooler de conexões (por isso a porta
6432 e o parâmetro
prepared_statements=false na
URL). Em Rails, isso é zero-config: o Active Record já desliga
prepared statements sozinho ao ler esse parâmetro da URL. Outras stacks só precisam consumir
DATABASE_URL diretamente — desde
que o driver não dependa de prepared statements no modo transaction do pooler.
Rode jatai env list
a qualquer momento para conferir o valor atual.
Migrations e comandos avulsos
Migrations (fase de release do deploy) e comandos avulsos via
jatai run não passam pelo pooler:
a plataforma injeta, só nesses processos, uma conexão direta ao banco. Isso é transparente ao
cliente — não é preciso configurar nada — e evita erros de lock em migrations concorrentes que o
modo transaction do pooler causaria.
Planos
O plano define o limite de armazenamento e o número máximo de conexões simultâneas do banco.
| Plano | Armazenamento | Conexões | Preço |
|---|---|---|---|
base |
512 MB | 20 | R$ 19/mês (cortesia no 1º banco do time) |
escala_1 |
1 GB | 50 | R$ 29/mês |
escala_2 |
5 GB | 100 | R$ 119/mês |
Comportamento de quota
Ao ultrapassar o armazenamento do plano contratado (com uma pequena margem de tolerância), a
plataforma revoga apenas escrita: o usuário do app perde a
permissão de INSERT e
UPDATE. Leitura e
DELETE continuam funcionando
normalmente, então dá para liberar espaço apagando dados sem precisar de suporte.
Assim que o uso volta a ficar abaixo do limite do plano, a escrita é restaurada automaticamente — sem intervenção manual.