Dados
Banco de dados
O banco é um recurso gerenciado vinculado ao projeto: você não precisa criar nem administrar uma VPS ou instalar um servidor de banco. Confira o banco vinculado ao concluir a criação do projeto; se já estiver conectado, não crie outro. Para adicionar um banco a um projeto que ainda não tem esse recurso, use o botão de adicionar dentro do projeto, conforme a capacidade do plano. Estão disponíveis PostgreSQL, MySQL, MariaDB, MongoDB e Redis. O banco usa infraestrutura própria para dados, separada da execução da aplicação e alcançada pela rede privada. A plataforma gera as credenciais e provisiona o serviço com os recursos escolhidos.
A infraestrutura de dados é administrada separadamente das aplicações. Alta disponibilidade utiliza replicação e alternância para outra instância quando o serviço está configurado para isso; não é a quantidade de réplicas do aplicativo que define essa proteção. Consulte as condições do serviço contratado. Sua aplicação deve tratar reconexões durante uma alternância. Replicação não substitui backup nem desfaz uma exclusão acidental.
SIM, ELE JÁ VEM LIGADO. Se você criou o banco de dentro de um projeto, a variável de conexão é gravada nas variáveis daquele projeto sozinha, cifrada — DATABASE_URL para os relacionais, REDIS_URL para o Redis. Você não copia nem cola nada. Um banco criado solto, fora de projeto, é ligado depois pelo botão de conectar, que faz a mesma coisa.
E ligar o banco REPUBLICA o app, de propósito: variável só existe para um processo no instante em que ele nasce, então sem republicar a variável existiria no painel e não dentro do container — o clássico "liguei o banco e o site não vê". A plataforma espera a confirmação de que o container recebeu a variável; se não conseguir confirmar, isso aparece escrito no histórico do banco em vez de ser dado como feito.
Por padrão o banco só é alcançável pela rede privada. Abrir o acesso público publica uma porta dedicada, protegida por firewall; use quando precisar conectar de um cliente SQL na sua máquina, e feche depois.
Backup automático existe para PostgreSQL, nos planos com backup: um por dia e um por semana, guardados no armazenamento da plataforma, com retenção de 7 dias no Pro e 30 dias no Enterprise. O plano Hobby não tem backup. Dá para pedir um backup na hora e restaurar pelo painel. MySQL, MariaDB e MongoDB ainda NÃO têm backup automático aqui — o painel diz isso na cara e explica como tirar o dump pela sua máquina, em vez de criar uma cópia que não existe. Redis não tem backup de propósito: é cache e fila, e o que não pode se perder precisa estar também no Postgres.