Pular para o conteúdo

Backups

Ferramentas de backup do Supabase comparadas, a nossa incluída

Quatro tipos de ferramenta de backup do Supabase, o que cada uma copia de verdade e quando uma GitHub Action gratuita ganha de pagar, nós inclusive.

Vlad Tkachenko9 min de leitura
Um banco de dados ao lado de quatro cópias salvas dele em fila, com a terceira das quatro erguida acima das outras.

Em resumo

  • Uma ferramenta de backup do Supabase vale o que custa quando a parte que falha é você lembrar. Todos os caminhos desta página produzem o mesmo arquivo.
  • São quatro: os backups do próprio Supabase, uma GitHub Action agendada, um serviço de backup pequeno e o cuidado gerenciado. Eles se diferenciam em quanto do trabalho continua sendo seu.
  • Nenhum deles conta enquanto ninguém tiver lido uma cópia de volta, e essa é justamente a linha que falta em toda lista de recursos.

Você foi procurar uma ferramenta de backup do Supabase por um de dois motivos. Ou descobriu que o seu projeto está no plano gratuito e nunca nada foi copiado para lugar nenhum, ou está em um plano pago, leu até onde a janela dele volta, e não pareceu suficiente para um app com clientes de verdade dentro.

Aqui está a parte que esses comparativos erram, e os escritos pelas próprias ferramentas erram com mais força: eles ordenam as opções por recurso. Uma ferramenta de backup é algo que você paga para cobrir um trabalho que já decidiu que não vai fazer. Se você fosse mesmo fazer, o caminho gratuito produz o mesmo arquivo.

Nós vendemos um dos quatro abaixo, então leia o resto com isso na mão. Para um bom número de apps o caminho gratuito é a resposta certa, e a seção sobre ele é a mais longa daqui.

Qual ferramenta de backup do Supabase eu devo usar?

Escolha por qual parte do trabalho você quer parar de pensar. Os quatro caminhos produzem uma cópia do seu banco de dados. O que os separa é quanto do que vem depois continua sendo seu.

O próprio SupabaseUma GitHub ActionUm serviço de backupCuidado gerenciado
Roda no horário sem vocêSimSimSimSim
A cópia sai da sua contaNãoSimSimSim
Sobrevive à perda da contaNãoSimSimSim
Seus arquivos enviados entramNãoUm segundo trabalhoEm geral nãoSim
Algo lê a cópia de voltaNãoNãoNãoSim
Restaurar é um botãoSim, dentro do projetoNãoNãoSim
CustoSó nos planos pagosGrátisPlano gratuito, depois pagoUma assinatura

A coluna sombreada é a nossa, e as linhas quatro a seis são o que ela vende. Guarde isso para tudo o que vem abaixo.

Pelo que você está pagando de verdade

Quatro coisas precisam acontecer para um backup valer alguma coisa, e cada ferramenta de backup do Supabase daqui faz algumas delas.

  1. Tirar uma cópia. Ninguém nesta página cobra por isso. O pg_dump vem junto com o Postgres e a CLI do Supabase o embrulha.
  2. Levá-la para um lugar que o original não consiga arrastar junto. Uma cópia dentro da conta que ela protege cobre você no dia em que quebrar os seus próprios dados. No dia em que perder o acesso, ela está atrás da mesma porta.
  3. Lê-la de volta. Um dump escrito enquanto a conexão caía parece exatamente um bom até a hora em que você tenta usá-lo.
  4. Colocá-la de volta. No pior dia da vida do seu app, no estado em que você estiver naquele dia, com o que por acaso souber de psql.
Os quatro passos dos quais cada caminho desta página é uma fatia diferente. A maioria das ferramentas vende os dois do meio.

Preciso de uma ferramenta se já estou em um plano pago do Supabase?

Para o desastre comum, não. O Supabase tira cópias diárias nos planos pagos e restaurar uma são alguns cliques dentro do painel, que é o caminho de volta mais rápido depois de uma migração que rodou duas vezes.

O que isso não cobre é a conta. Toda cópia que o Supabase tira mora dentro do projeto que ela protege, então uma cobrança que falhou, um projeto suspenso ou um acesso que você não recupera colocam os backups atrás da mesma porta que a coisa para a qual eles existiam. Em qual plano você está, e até onde a janela dele volta leva uns dois minutos para conferir.

Então ligue esses, e depois decida à parte se uma cópia em um lugar só é onde você quer parar.

Quando uma GitHub Action ganha de pagar para qualquer um

Quando o seu app já mora em um repositório do GitHub, você consegue editar um arquivo YAML sem pavor e o seu banco é pequeno. Nesse caso o caminho gratuito é uma resposta de verdade. Ele produz o mesmo dump que um serviço pago produz, na mesma frequência, e ninguém está te cobrando.

Este aqui o próprio Supabase documenta. Um arquivo de fluxo em .github/workflows chama a CLI do Supabase três vezes e despeja os seus papéis, o seu esquema e os seus dados como arquivos separados, em um cron que dispara à meia-noite, e depois comita os resultados de volta no repositório. A página deles traz um único aviso e traz duas vezes: nunca faça backup dos seus dados em um repositório público.

Esse também é o caminho que conserta aquilo que mata a versão na mão. Um pg_dump no seu notebook tem a data da última vez em que você pensou nisso, e o dia em que você precisa dele nunca é um dia em que você estava pensando nisso. Um fluxo agendado roda tendo você lembrado ou não, e o arquivo cai nos servidores de uma empresa diferente da que segura o seu banco.

Quatro coisas que ele deixa com você:

  • Os dumps se empilham em um repositório, que é um lugar feito para código. Um histórico binário que cresce é chato de lidar, e se um segredo de verdade cair ali algum dia, tirá-lo significa reescrever o histórico.
  • A sua string de conexão fica no CI. É uma credencial com permissão de escrita completa no seu banco, guardada em um sistema que também roda código vindo de pull requests.
  • Ninguém lê a cópia de volta. Uma execução verde quer dizer que o trabalho terminou sem erro, o que é uma afirmação menor do que a de o arquivo restaurar.
  • Arquivos enviados pedem um segundo trabalho. O dump guarda a linha que aponta para cada arquivo. Os arquivos moram no Storage e saem à parte, em todos os caminhos daqui.
Os dois saíram de uma execução que terminou sem erro. Nada na execução diz qual dos dois você tem.

Se você consegue conviver com essas quatro, pare de ler aqui e vá configurar, com a connection string que o GitHub alcança e o horário que a sua cota de egress consegue pagar. Não custa nada, e o arquivo que ele escreve é o mesmo que os caminhos pagos escrevem.

O que um serviço de backup pago acrescenta

Ele tira a manutenção do seu colo. Um serviço pequeno se conecta ao seu banco, roda na frequência que você escolhe, deposita o arquivo em um armazenamento que já é seu e coloca na frente de tudo uma tela que diz quando uma execução falhou.

O Supabackup é o que as pessoas procuram pelo nome. Ele pega a sua string de conexão, envia os dumps para uma conta do Google Drive que você conecta, e guarda um número fixo deles antes de apagar os mais antigos. A página de preços dele descreve um plano gratuito com frequência semanal e um pago com frequência diária; leia o preço atual lá e não aqui, porque ele é deles e podem mudar.

O que isso compra em relação ao arquivo de fluxo é algo que não apodrece. Nada de YAML, nenhum repositório enchendo de dumps, nenhum segredo no CI, e um painel dizendo que a última execução falhou em vez de um e-mail que você aprendeu a pular.

O que isso não muda é a segunda metade do trabalho. A cópia é o seu banco, o arquivo é um dump, e no dia em que precisar é você quem vai reproduzi-lo. Confira se o serviço que escolher cobre o Storage também, porque boa parte dessa categoria é o banco sozinho. Restaurar um dump tem os passos dele, e vale ler antes de precisar.

O que o cuidado gerenciado acrescenta, e pelo que você paga

Ele acrescenta as duas partes que os outros três caminhos deixam com você: a conferência e a restauração.

Isso é o Reeve Care, e backups são uma linha dele.

  • Várias cópias por dia, na frequência que o seu plano define e nada que você precise lembrar de disparar.
  • Guardadas fora da sua conta do Supabase, criptografadas, para que um projeto suspenso ou um acesso que você não recupera deixem as cópias onde elas estão.
  • Lidas de volta antes de contar. Cada cópia é aberta e contada contra o que entrou, e é por isso que a data no seu painel é a da última cópia verificada em vez da última tentativa.
  • Seus arquivos enviados junto com as suas linhas, assim que você conecta uma credencial de Storage, e os dois voltam juntos.
  • Mais de um ponto de restauração. Quantos depende do plano, e os mais antigos saem à medida que novos chegam.
  • Colocar de volta é um botão, e antes disso é tirada uma cópia do estado atual, antes de qualquer coisa ser substituída.
O que a assinatura está fazendo enquanto você não pensa nisso. O banco de dados e os arquivos enviados viajam juntos, nos dois sentidos.

Pelo que você paga é disponibilidade. Dá para começar uma restauração a qualquer hora, a partir de qualquer noite que o seu plano ainda guarde, sem esperar até ter uma tarde livre. Toda cópia é criptografada antes de sair do seu projeto e fica assim. O Care Max acrescenta suporte prioritário, e alguém para te ajudar a aplicar uma correção.

A cópia saindo do Supabase, a conferência que vem atrás dela e o botão que a coloca de volta estão desenhados na página de backups do Supabase.

Como escolher, em cerca de um minuto

Quatro ramos, e a maioria das pessoas cai nos dois primeiros.

  • Plano gratuito, e editar um arquivo YAML não te assusta. A GitHub Action. Grátis, completa e sua.
  • Plano gratuito, e assusta sim. Um serviço de backup pequeno, ou uma cópia feita na mão pelo painel até você estar pronto para algo agendado.
  • Plano pago, e você quer uma cópia fora da conta. Qualquer um dos dois, em cima do que o Supabase já tira.
  • Clientes de verdade, arquivos enviados e ninguém que vá rodar uma restauração sob pressão. Gerenciado.

O que fazer esta semana

O que fazer

  • Ligue o que o seu plano do Supabase já inclui. Não custa nada a mais e é o caminho de volta mais rápido dos seus próprios erros.
  • Escolha um caminho desta página que ponha uma cópia fora da sua conta do Supabase, e configure hoje.
  • Seja qual for, restaure a partir dele uma vez em um projeto descartável. Até você fazer isso, o que você tem é um arquivo de qualidade desconhecida.
  • Copie os seus arquivos do Storage em um trabalho só deles. Nenhum caminho daqui os inclui sozinho.
  • Anote onde as cópias caem e qual acesso chega até elas. Uma linha no README do seu projeto basta, e é a anotação que você vai caçar à meia-noite.

Se alguma tabela já ficou vazia por um motivo que ninguém soube explicar, leia primeiro o que um rollback realmente restaura e depois três formas de fazer backup de um banco de dados Supabase para o que uma cópia guarda e o que ela deixa de fora. E se você prefere ver o que mais está aberto no seu app antes de decidir onde gastar, o scan gratuito lê o seu site no ar em uns 20 segundos.

Perguntas frequentes

Qual é a melhor ferramenta de backup do Supabase?

Não existe uma resposta só, porque os quatro caminhos cobrem partes diferentes do mesmo trabalho. Os backups do próprio Supabase são os mais rápidos de ligar e moram dentro da conta que protegem. Uma GitHub Action é gratuita e completa, e deixa a conferência e a restauração com você. Um serviço de backup pequeno tira a manutenção do seu colo. Um serviço gerenciado acrescenta a verificação, os seus arquivos enviados e uma restauração que outra pessoa consegue rodar. Escolha por qual dessas partes você quer parar de segurar.

Existe alguma ferramenta de backup do Supabase gratuita?

Sim, mais de uma. A CLI do Supabase despeja o seu banco em um arquivo na sua própria máquina e não custa nada. Uma GitHub Action rodando essa mesma CLI de forma agendada também não custa nada, desde que o repositório em que ela escreve seja privado. Vários serviços pagos ainda têm um plano gratuito, em geral um trabalho com frequência semanal. O que nenhum caminho gratuito inclui é alguém conferindo se o arquivo abre.

Dá para fazer backup do Supabase com uma GitHub Action?

Dá, e o próprio Supabase documenta esse fluxo. Ele chama a CLI três vezes para despejar os seus papéis, o seu esquema e os seus dados separadamente, em um cron que dispara à meia-noite, e comita os arquivos de volta no repositório. A página deles traz um único aviso e traz duas vezes: nunca faça backup dos seus dados em um repositório público. Vale decidir cedo se uma pilha crescente de dumps cabe em um repositório de código, ou se o mesmo fluxo deveria enviá-los para outro lugar.

As ferramentas de backup do Supabase incluem os arquivos do Storage?

Algumas sim e muitas não, então descubra antes de supor. Um dump do banco guarda a linha que anota onde cada arquivo estava e nada do arquivo em si, e é assim que uma restauração termina limpinha e deixa um app cheio de imagens quebradas. Seja qual for o caminho, confira se os arquivos enviados fazem parte dele, e se não fizerem, copie-os em um trabalho só deles.

O que eu devo olhar em uma ferramenta de backup do Supabase?

Quatro perguntas, nesta ordem. A cópia sai da sua conta do Supabase, ou fica dentro daquilo que ela protege? Alguma coisa lê a cópia de volta, ou uma execução verde já conta como sucesso? Os seus arquivos enviados fazem parte? E no dia em que precisar, quem roda a restauração? O preço vem por último em vez de primeiro, porque os caminhos que não custam nada são realmente bons na primeira metade dessa lista.

Escrito por

Vlad Tkachenko

Fundador da Reeve

Passo meus dias olhando apps criados com Lovable, Bolt, v0, Cursor e Replit, e a curta lista de erros que aparecem neles sem parar.

Mais sobre o autor

Leia depois

Todos os artigos

Não sabe como está o seu próprio app?

Faça um scan gratuito e receba uma nota clara de A a F em cerca de 20 segundos. Sem conta e sem cartão.

Verificar meu app grátis

Verificação externa automatizada, não uma auditoria completa. A ausência de achados não é garantia de segurança.