Perguntas frequentes

Encontre respostas às perguntas mais comuns sobre o Databasus, incluindo instalação, configuração e estratégias de backup.

Por que o Databasus não usa o formato de dump SQL puro para backups lógicos de PostgreSQL?

Para backups lógicos, o Databasus usa o formato custom do pg_dump com compressão zstd de nível 5 em vez do formato SQL simples, porque é o que dá o equilíbrio mais eficiente entre:

  • Velocidade de criação do backup
  • Velocidade de restauração
  • Compressão do tamanho (até 20x menor do que o formato SQL simples)

Essa decisão foi tomada depois de testes e benchmarks extensivos de diferentes formatos de backup e métodos de compressão do PostgreSQL. Você pode ler mais sobre os testes aqui: PostgreSQL backups: comparing pg_dump speed in different formats and with different compression.

O Databasus não incluirá o formato de dump SQL puro, porque:

  • variedade extra prejudica a experiência de uso;
  • torna o código mais difícil de manter;
  • o formato de dump atual serve para 99% dos casos

Onde o Databasus é instalado quando instalado via script .sh?

O Databasus é instalado no diretório /opt/databasus/.

Como funcionam os backups físicos e PITR (Point-in-Time Recovery)?

O Databasus executa backups físicos remotamente a partir do seu próprio host, conectando-se ao seu PostgreSQL pelo protocolo padrão de replicação, então nada precisa ser instalado no servidor da base de dados. Se a base vive numa rede fechada, o Databasus pode alcançá-la por um túnel SSH até um host interno ou um bastion, então a base de dados nunca precisa ficar exposta publicamente.

Por que isso é possível agora: durante anos, ferramentas como pgBackRest e WAL-G tiveram de construir os seus próprios motores de backup incremental em nível de bloco, porque o PostgreSQL não tinha um nativo. Isso mudou com o PostgreSQL 17, onde a funcionalidade foi desenvolvida por Robert Haas com a ajuda de David Steele, o autor do pgBackRest. O PostgreSQL agora traz backups incrementais nativos em nível de bloco do lado do servidor (pg_basebackup --incremental e summarize_wal), então o Databasus se apoia nisso em vez de reinventar um motor próprio.

Como funcionam os backups:

  • Os backups completos são criados com pg_basebackup, transmitidos diretamente para o Databasus
  • Os incrementais em nível de bloco usam pg_basebackup --incremental, em que os resumos de WAL do lado do servidor do PostgreSQL 17 (summarize_wal = on) acompanham as mudanças para transferir apenas os blocos alterados
  • O WAL é transmitido continuamente via pg_receivewal para manter a cadeia de recuperação completa entre backups
  • Backups físicos exigem PostgreSQL 17 ou mais recente; em versões anteriores usam-se backups lógicos com pg_dump

Como funciona a restauração:

  • O pg_combinebackup reconstrói um diretório de dados utilizável a partir do backup completo e da sua cadeia de incrementais
  • O PostgreSQL então reproduz o WAL até o momento alvo que você escolher, recuperando para qualquer segundo entre backups
  • Ao iniciar o PostgreSQL, ele conclui a recuperação, se promove a primário e retoma a operação normal

Você não precisa fazer isso à mão. A interface do Databasus dá instruções passo a passo para restaurar num host ou numa base em Docker, seja por um script pronto, seja baixando os backups manualmente. Preparamos o script para que uma restauração seja um único comando, mas você também pode reconstruir a cadeia de partes completas, incrementais e WAL por conta própria, se preferir. Incrementais e WAL também são opcionais: você pode fazer apenas um backup completo, sem incrementais, e o WAL não é obrigatório.

Por que usamos os backups nativos do PG 17:

  • Reutilizam o mecanismo de backup do próprio PostgreSQL em vez de reinventá-lo, então você aproveita um mecanismo comprovado, com milhares de testes e casos-limite por trás
  • Funcionam com bases de dados remotas, incluindo serviços gerenciados como Amazon RDS e Google Cloud SQL, que expõem o protocolo de replicação mas proíbem instalar software no host
  • Dão perda de dados quase nula, permitindo restaurar para qualquer segundo entre backups

Por que o Databasus abandonou os backups baseados em agente?

Uma versão anterior do Databasus trazia um agente de backup: um binário que rodava no host da base de dados para transmitir WAL e criar backups físicos localmente. Essa primeira implementação se revelou um erro, e nós a removemos. Os backups físicos agora rodam remotamente a partir do host do Databasus, como descrito acima.

Por que o agente era a abordagem errada:

  • Era uma implementação ingênua que só copiava WAL por cima de backups completos, o que levava a um RTO longo
  • Era preciso configurar tanto o Databasus quanto um agente separado, quando fazer tudo remotamente de um só lugar é bem mais simples
  • Como o agente vivia fora do sistema principal, era difícil cobrir todos os casos de teste
  • Na verdade, só existe um problema que um agente resolve: alcançar uma base de dados inacessível de fora. Para 99% das pessoas isso já é resolvido executando o Databasus dentro da rede privada ou conectando por SSH, então o agente reinventava a roda e tornava um problema simples muito mais complicado do que precisava ser
  • Ele não podia rodar em bases gerenciadas como RDS e Cloud SQL, que proíbem instalações no host mas já expõem o protocolo de replicação, então um caminho remoto era necessário de qualquer forma
  • Também trazia muitos casos-limite. Conexões quebradas, gestão das atualizações do agente e coleta de logs de um processo separado eram todos dolorosos, e quanto menos partes móveis um sistema tem, mais confiável ele é no dia a dia

Garantimos que os backups existentes ficam seguros. Se você atualizar de uma versão que ainda tem backups via agente, o Databasus não o fará em silêncio: ele avisa sobre a mudança e deixa você escolher entre ficar na versão suportada 3.42.0 ou remover os backups antigos do agente antes de atualizar. A implementação baseada em agente permanece disponível até a versão 3.42.0 e continuará funcionando por muito tempo, então nada quebra.

Você pode ler o raciocínio completo nos registros de decisão de arquitetura: ADR-0008: PG17-native backups with mandatory WAL summary e ADR-0009: remote physical backups instead of agents.

Como a IA é usada no desenvolvimento do Databasus?

Surgiram perguntas em issues e discussões sobre o uso de IA no desenvolvimento do projeto. Como o projeto se foca em segurança, confiabilidade e uso em produção, é importante explicar como a IA entra no processo de desenvolvimento.

A IA é usada como auxiliar para:

  • Verificação da qualidade do código e busca de vulnerabilidades
  • Limpeza e melhoria da documentação, dos comentários e do código
  • Assistência durante o desenvolvimento
  • Dupla verificação de PRs e commits depois da revisão humana

A IA NÃO é usada para:

  • Escrever código inteiro
  • Abordagem de "vibe code"
  • Código sem verificação linha a linha por uma pessoa
  • Código sem testes

O projeto tem:

  • Cobertura de testes sólida (testes unitários e de integração)
  • Automação de pipeline de CI/CD com testes e linting para garantir a qualidade do código
  • Verificação por desenvolvedores experientes, com experiência em projetos grandes e seguros

Então a IA é apenas uma assistente e uma ferramenta para aumentar a produtividade e garantir a qualidade do código. O trabalho é feito por desenvolvedores.

Além disso, é importante notar que não diferenciamos entre código humano ruim e vibe code de IA. Há requisitos rígidos para qualquer código ser integrado, para manter a base de código sustentável.

Mesmo código escrito manualmente por uma pessoa não tem garantia de ser aceito. Vibe code não é permitido de forma alguma, e todos esses PRs são rejeitados por padrão (veja o guia de contribuição).

Também damos atenção à resolução rápida de issues e ao reporte de vulnerabilidades de segurança.

Como fazer backup do próprio Databasus?

Se você quiser fazer uma cópia de segurança da sua instância do Databasus (incluindo todas as configurações, bases de dados e credenciais), siga estes passos:

  1. Vá a /opt/databasus (ou à pasta onde instalou o Databasus)
  2. Entre no diretório databasus-data

Você precisa guardar:

  • secret.key — chave de criptografia das suas credenciais
  • /pgdata — base de dados PostgreSQL interna do Databasus, que contém todas as suas configurações e os metadados dos backups

Se você usa armazenamento local para os backups, também pode guardar a pasta backups.

Importante: há dois cenários diferentes de recuperação:

  • Recuperar backups sem a interface do Databasus: você pode recuperar os backups das suas bases usando apenas o secret.key, sem precisar do Databasus nem dos seus dados internos. Veja o guia de recuperação manual para instruções detalhadas.
  • Restaurar a interface do Databasus e todas as configurações: se você quiser restaurar a interface do Databasus com todas as suas configurações, backups agendados e histórico de backups, precisa guardar tanto o secret.key quanto a pasta /pgdata (que contém os metadados de criptografia e todas as configurações do Databasus).

Para restaurar o Databasus em outro servidor: basta recriar a estrutura da pasta databasus-data com os dados guardados e iniciar o Databasus.

Como o Databasus é apoiado pelos programas open source da Anthropic e da OpenAI?

Em março de 2026, o Databasus foi aceito tanto no Claude for Open Source da Anthropic quanto no Codex for Open Source da OpenAI. É muito valioso para nós que o projeto tenha sido reconhecido como software open source importante para o setor por duas das principais empresas de IA do mundo — especialmente considerando os requisitos de elegibilidade exigentes dos dois programas.

O que isso significa para quem usa o Databasus? É mais uma confirmação de confiabilidade: o projeto foi avaliado de forma independente e reconhecido por líderes do setor como infraestrutura crítica que vale a pena apoiar. Então temos qualidade de código ainda mais alta, revisões de segurança mais rápidas e desenvolvimento ativo contínuo graças ao acesso às IAs mais recentes sem limites.

Databasus aceito no programa Claude for Open Source da AnthropicDatabasus aceito no programa Codex for Open Source da OpenAI

Mesmo com acesso a esses programas, o Databasus mantém regras rígidas de uso de IA, como descrito na seção sobre uso de IA. Todo o código exige verificação humana linha a linha, cobertura de testes completa e revisão por desenvolvedores experientes. Vibe coding não é permitido. A IA continua sendo uma ferramenta para desenvolvedores — não um substituto do julgamento humano.