Configurações de Banco de Dados

Na Zenifra, as principais configurações de banco de dados estão relacionadas a versão, instâncias, senha, failover e storage.

PostgreSQL vs MariaDB

CaracterísticaPostgreSQLMariaDB
Versões disponíveis15, 16, 17, 1811, 12
Instâncias1 a 3 instâncias totais3 instâncias fixas
Ajuste posterior de instânciasSim, no modelo por horaNão
Failover automáticoSimSim

Versão do banco

Na criação, o usuário pode escolher qualquer versão disponível no console.

Na edição:

  • somente upgrade para frente é suportado
  • downgrade não é suportado

Atenção: upgrade de versão pode causar alguns minutos de indisponibilidade. Faça isso em horários de baixo uso.

Instâncias e réplicas

PostgreSQL

  • mínimo de 1 instância total
  • máximo de 3 instâncias totais
  • o master atende escrita e leitura
  • as demais instâncias funcionam como réplicas de leitura

No plano por hora, o número total de instâncias pode aumentar ou diminuir depois. Em mensal e anual, essa configuração fica fixa no contrato.

MariaDB

O MariaDB opera sempre com 3 instâncias fixas. Essa quantidade não pode ser alterada.

Senha

O usuário pode alterar a senha do banco depois da criação. Quando isso acontece, a Zenifra gera uma senha completamente nova e atualiza a URI disponível no console.

Dados de conexão

No console, ficam disponíveis:

  • host
  • porta
  • username app
  • password
  • database name app
  • URI completa pronta para copiar

Quando houver réplicas, o console também pode exibir os dados do master, das réplicas e uma URI pronta para cada uma delas.

Failover

O failover automático é suportado para PostgreSQL e MariaDB.

Em caso de falha da instância primária, a plataforma pode promover uma réplica automaticamente.

Storage

  • o banco sempre usa storage persistente
  • o storage pode aumentar
  • o storage nunca pode diminuir
  • em mensal e anual, a alteração só deve ocorrer após o contrato encerrar
  • aumentar storage pode causar indisponibilidade temporária

Boas práticas

  1. Planeje upgrades de versão em janela de menor tráfego.
  2. Planeje aumento de storage e ajustes de instâncias considerando possível indisponibilidade temporária.
  3. Configure manualmente a DATABASE_URL na aplicação HTTP; a Zenifra não injeta essa ENV automaticamente.