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.