[{"data":1,"prerenderedAt":402},["ShallowReactive",2],{"blog-pt-three-ways-to-back-up-a-supabase-database":3},{"id":4,"title":5,"body":6,"category":364,"cover":365,"coverAlt":365,"description":366,"draft":367,"extension":368,"faq":369,"image":382,"keywords":383,"meta":389,"navigation":390,"ogTitle":391,"path":392,"published":393,"seo":394,"stem":395,"tldr":396,"updated":400,"__hash__":401},"blog_pt\u002Fblog\u002Fthree-ways-to-back-up-a-supabase-database.md","Três formas de fazer backup de um banco Supabase, e o que falta",{"type":7,"value":8,"toc":353},"minimark",[9,17,20,25,28,31,120,124,127,130,175,181,193,197,200,203,210,215,218,227,231,237,247,250,256,259,263,270,277,280,288,292,295,298,311,315,340],[10,11,12,13],"p",{},"Quem constrói no Supabase acaba fazendo a mesma pergunta, normalmente uma semana\ndepois do lançamento e quase sempre às duas da manhã: ",[14,15,16],"strong",{},"se eu quebrar alguma\ncoisa, consigo meus dados de volta?",[10,18,19],{},"A resposta depende inteiramente de qual dos três caminhos você pegou, e cada um\ndeixa passar algo que os outros dois cobrem.",[21,22,24],"h2",{"id":23},"qual-eu-devo-usar","Qual eu devo usar?",[10,26,27],{},"Ligue o que o seu plano do Supabase oferece e depois guarde uma cópia em outro\nlugar. São dois trabalhos diferentes, e fazer só o primeiro é exatamente o erro\nque este artigo existe para evitar.",[10,29,30],{},"O backup do painel protege você dos seus próprios erros. Uma cópia que é sua\nprotege você de perder a conta: uma cobrança que falha, um projeto suspenso,\numa senha que você não consegue recuperar. São desastres diferentes e pedem\nrespostas diferentes.",[32,33,34,56],"table",{},[35,36,37],"thead",{},[38,39,40,43,46,53],"tr",{},[41,42],"th",{},[41,44,45],{},"Painel do Supabase",[41,47,48,52],{},[49,50,51],"code",{},"pg_dump"," na mão",[41,54,55],{},"Backups gerenciados",[57,58,59,73,84,95,106],"tbody",{},[38,60,61,65,68,71],{},[62,63,64],"td",{},"Roda sem você",[62,66,67],{},"Sim",[62,69,70],{},"Não",[62,72,67],{},[38,74,75,78,80,82],{},[62,76,77],{},"A cópia é sua",[62,79,70],{},[62,81,67],{},[62,83,67],{},[38,85,86,89,91,93],{},[62,87,88],{},"Sobrevive a perder a conta",[62,90,70],{},[62,92,67],{},[62,94,67],{},[38,96,97,100,102,104],{},[62,98,99],{},"Conferido antes de contar",[62,101,70],{},[62,103,70],{},[62,105,67],{},[38,107,108,111,114,117],{},[62,109,110],{},"Custo",[62,112,113],{},"Só em planos pagos",[62,115,116],{},"Grátis",[62,118,119],{},"Uma assinatura",[21,121,123],{"id":122},"o-que-um-backup-contém-de-verdade","O que um backup contém de verdade",[10,125,126],{},"Suas tabelas, suas linhas, seus índices e funções e suas regras de Row Level\nSecurity, as políticas que decidem quem pode ler o quê, não só as tabelas em que\nelas se aplicam. É isso.",[10,128,129],{},"O que ele não contém é tudo aquilo que nunca esteve no banco:",[32,131,132,142],{},[35,133,134],{},[38,135,136,139],{},[41,137,138],{},"No arquivo",[41,140,141],{},"Fora do arquivo",[57,143,144,152,160,168],{},[38,145,146,149],{},[62,147,148],{},"A estrutura das tabelas, com cada coluna e restrição",[62,150,151],{},"Arquivos no Storage: uploads, avatares, anexos",[38,153,154,157],{},[62,155,156],{},"Cada linha que seus usuários criaram",[62,158,159],{},"Configurações de autenticação, como seu app do Google ou GitHub",[38,161,162,165],{},[62,163,164],{},"Índices e funções",[62,166,167],{},"Edge functions, que vivem no seu repositório",[38,169,170,173],{},[62,171,172],{},"Políticas de Row Level Security",[62,174],{},[176,177],"diagram",{"alt":178,"caption":179,"src":180},"Um ícone de banco de dados com uma seta entrando em um arquivo, marcado com um certo. Abaixo, um ícone de imagem com uma seta riscada até o mesmo arquivo, marcado com um xis.","Um backup de banco de dados é uma cópia do banco de dados. Seus arquivos enviados estão em outro lugar, nos três caminhos.","\u002Fblog\u002Fthree-ways-to-back-up-a-supabase-database\u002Fdatabase-not-files-1600x570.png",[10,182,183,184,187,188,192],{},"Onde as pessoas tropeçam é no ",[14,185,186],{},"Storage",". Cada avatar, cada PDF enviado, cada\nimagem que seus usuários adicionaram vive no armazenamento de objetos, não no\nbanco. O banco guarda só o ",[189,190,191],"em",{},"caminho"," de cada arquivo. Restaure um backup do\nbanco em um projeto vazio e você fica com uma tabela cheia de links para arquivos\nque não estão lá.",[21,194,196],{"id":195},"caminho-1-o-painel-do-supabase","Caminho 1: o painel do Supabase",[10,198,199],{},"O mais fácil, e o que quase todo mundo deveria ligar primeiro. O Supabase faz\nbackups diários nos planos pagos, e a recuperação para um ponto no tempo está\ndisponível como adicional se você precisar voltar para um minuto específico em\nvez de para a última meia-noite.",[10,201,202],{},"No que ele é bom: roda sem você, é completo, e restaurar são alguns cliques numa\ninterface em vez de um comando que você precisa acertar sob pressão.",[10,204,205,206,209],{},"O que falta nele: ",[14,207,208],{},"a cópia fica dentro da conta."," Se o projeto for suspenso, o\ncartão cadastrado falhar ou você perder o acesso ao login, os backups estão atrás\nda mesma porta que aquilo que eles protegiam. É uma saída de incêndio dentro do\nprédio.",[176,211],{"alt":212,"caption":213,"src":214},"Duas contas, as duas riscadas. Na primeira o arquivo de backup está dentro do limite da conta e apaga junto com ela. Na segunda o arquivo está fora do limite e continua lá.","A mesma conta perdida duas vezes. A única coisa que muda é de que lado da linha a cópia estava.","\u002Fblog\u002Fthree-ways-to-back-up-a-supabase-database\u002Finside-the-account-1600x570.png",[10,216,217],{},"Ele também não existe no plano gratuito, que é onde está a maior parte dos apps\nrecém-lançados.",[10,219,220,221,226],{},"Em qual plano você está decide se você tem isso ou não, e\n",[222,223,225],"a",{"href":224},"\u002Fblog\u002Fdoes-supabase-back-up-my-database","conferir leva dois minutos",".",[21,228,230],{"id":229},"caminho-2-pg_dump-na-sua-própria-máquina","Caminho 2: pg_dump na sua própria máquina",[10,232,233,234,236],{},"Supabase é Postgres, então a ferramenta padrão do Postgres funciona. O ",[49,235,51],{},"\nescreve o banco inteiro em um arquivo que é seu.",[238,239,244],"pre",{"className":240,"code":242,"language":243},[241],"language-text","pg_dump \"postgresql:\u002F\u002F…sua string de conexão…\" \\\n  --clean --if-exists --no-owner \\\n  --file backup-2026-08-09.sql\n","text",[49,245,242],{"__ignoreMap":246},"",[10,248,249],{},"No que ele é bom: é grátis, é completo, o arquivo é seu, e você pode restaurá-lo\nem um projeto novinho em outra conta. Dos três caminhos, esse é o único que\nsobrevive a perder todo o resto.",[10,251,205,252,255],{},[14,253,254],{},"só acontece quando você lembra."," Isso não é um detalhe\ntécnico, é a falha inteira. O dump no seu notebook tem a data do último dia em\nque você pensou nisso, e o dia em que você precisa dele nunca é um dia em que\nvocê estava pensando nisso.",[10,257,258],{},"Tem um segundo problema, mais silencioso: um dump não testado é um palpite. Um\narquivo escrito enquanto uma migração estava pela metade, ou que foi cortado em\nsilêncio porque a conexão caiu, é idêntico a um bom até o dia em que você tenta\nusar.",[21,260,262],{"id":261},"caminho-3-backups-gerenciados","Caminho 3: backups gerenciados",[10,264,265,266,269],{},"Outra coisa tira a cópia num horário, guarda fora da sua conta e ",[14,267,268],{},"confere se a\ncópia é real antes de dar como feita."," Essa última parte é a que realmente\nimporta.",[10,271,272,273,276],{},"É isso que o Reeve Care faz: várias cópias por dia dependendo do plano,\ncriptografadas e guardadas fora da sua conta do Supabase, cada uma verificada\ncontando o que saiu contra o que entrou. Um backup só conta como feito depois de\nverificado, e é por isso que a data mostrada no painel é a da última cópia\n",[189,274,275],{},"verificada"," e não a da última tentativa.",[10,278,279],{},"A troca honesta: custa dinheiro e é mais um serviço na sua stack. Se você for\ndisciplinado o bastante para tocar o caminho 2 num horário de verdade e testar as\nrestaurações, não precisa dele.",[10,281,282,283,287],{},"O ciclo inteiro está na ",[222,284,286],{"href":285},"\u002Fsupabase-backups","página de backups do Supabase",": a\ncópia saindo do Supabase, a verificação depois dela e o botão que devolve\ntudo.",[21,289,291],{"id":290},"você-já-restaurou-algum","Você já restaurou algum?",[10,293,294],{},"Essa pergunta decide se você tem um backup ou um arquivo que ninguém nunca abriu.\nUm dump que ninguém leu de volta é um palpite sobre o futuro, e o momento em que\nvocê descobre que ele estava errado é o momento em que você precisava que\nestivesse certo.",[10,296,297],{},"Um teste de restauração não precisa ser dramático. Crie um projeto novo no\nSupabase, carregue nele o seu backup mais recente, abra o app apontando para esse\nprojeto e confira se tem uma linha que você reconhece. Meia hora, uma vez por\ntrimestre. Se a restauração falhar, você descobriu numa terça à tarde em vez de\nno meio de uma queda.",[10,299,300,301,305,306,310],{},"Se você quer a lista mais ampla do que vale conferir num app recém-lançado, o\n",[222,302,304],{"href":303},"\u002Fchecklist","checklist de segurança de 10 minutos"," cobre backups junto com o\nresto, e o ",[222,307,309],{"href":308},"\u002Fis-your-supabase-app-safe","guia de segurança do Supabase"," passa pelo\nque mais costuma ficar aberto.",[21,312,314],{"id":313},"o-que-fazer-esta-semana","O que fazer esta semana",[316,317,318],"key-takeaways",{},[319,320,321,325,331,334,337],"ul",{},[322,323,324],"li",{},"Ligue o backup que o seu plano do Supabase inclui. É a coisa mais barata desta lista e leva mais ou menos um minuto.",[322,326,327,328,330],{},"Faça um ",[49,329,51],{}," hoje e coloque o arquivo em algum lugar que não seja o seu notebook. Até uma cópia velha ganha de nenhuma cópia.",[322,332,333],{},"Faça backup dos seus arquivos do Storage separadamente. Nenhum backup de banco nesses caminhos inclui eles.",[322,335,336],{},"Faça uma restauração num projeto descartável, para que a próxima vez que você ler esse arquivo não seja a primeira.",[322,338,339],{},"Decida quantos dados você aguentaria perder, e escolha a frequência a partir desse número em vez do que parece responsável.",[10,341,342,343,347,348,352],{},"Vale ler depois: se você achava que o desfazer do seu builder cobria os seus\ndados, ",[222,344,346],{"href":345},"\u002Fblog\u002Fversion-history-is-not-a-backup","o histórico de versões não é backup","\né o primeiro a ler. Depois disso, seu banco de dados é tão privado quanto as\nchaves que estão na frente dele, e ",[222,349,351],{"href":350},"\u002Fblog\u002Fwhich-api-keys-are-safe-in-your-frontend","quais chaves de API são seguras no frontend","\ntrata daquela que ignora todas as regras que você define.",{"title":246,"searchDepth":354,"depth":354,"links":355},3,[356,358,359,360,361,362,363],{"id":23,"depth":357,"text":24},2,{"id":122,"depth":357,"text":123},{"id":195,"depth":357,"text":196},{"id":229,"depth":357,"text":230},{"id":261,"depth":357,"text":262},{"id":290,"depth":357,"text":291},{"id":313,"depth":357,"text":314},"Backups",null,"O painel, o pg_dump e um serviço gerenciado. O que cada um salva de verdade, o que deixa de fora sem avisar e qual sobrevive a perder a conta.",false,"md",[370,373,376,379],{"q":371,"a":372},"O plano gratuito do Supabase inclui backups?","Não. Os backups diários começam no plano Pro, e a recuperação para um ponto no tempo é um adicional acima disso. No plano gratuito não existe nenhuma cópia automática dos seus dados em lugar nenhum, o que surpreende quase todo mundo na primeira vez que precisa de uma.",{"q":374,"a":375},"Backup é a mesma coisa que o histórico de versões do meu builder?","Não, e esse é o mal-entendido mais caro deste artigo. Lovable, Bolt e os outros versionam o seu CÓDIGO. Seu banco de dados é um serviço separado com os seus usuários, o conteúdo deles e os pedidos deles. Voltar o código para ontem não volta os seus dados, e apagar uma tabela no editor do Supabase deixa o seu código perfeitamente intacto.",{"q":377,"a":378},"De quanto em quanto tempo devo fazer backup?","Pergunte antes quanto você toparia redigitar. Se perder um dia de cadastros fosse apenas chato, toda noite basta. Se perder uma hora de pedidos significasse estornar gente, você precisa de algo mais perto de uma vez por hora. O teste honesto não é a frequência, é se você já restaurou algum.",{"q":380,"a":381},"Preciso fazer backup se meu app quase não tem usuários?","Esse é o momento mais barato para começar, porque os dados são poucos e o que importa é o hábito. As perdas dolorosas raramente são dramáticas. São um delete digitado errado durante um conserto de madrugada, num projeto com usuários reais o suficiente para recomeçar não ser uma opção.","\u002Fblog\u002Fthree-ways-to-back-up-a-supabase-database\u002Fcard-800x500.png",[384,385,386,387,388],"backup supabase","pg_dump supabase","supabase point in time recovery","restaurar banco de dados supabase","backup app vibe coded",{},true,"Três formas de fazer backup de um banco Supabase","\u002Fblog\u002Fthree-ways-to-back-up-a-supabase-database","2026-08-09",{"title":5,"description":366},"blog\u002Fthree-ways-to-back-up-a-supabase-database",[397,398,399],"Os backups do próprio Supabase são os mais fáceis de ligar e os piores para confiar: a cópia fica dentro da conta que você pode perder.","O pg_dump é gratuito e completo, e só acontece quando você lembra. Lembrar é a parte que falha.","Nenhum dos três faz backup dos seus arquivos do Storage. Isso é um trabalho à parte, seja qual for o caminho.","2026-08-10","aGcMr5xX_LMvJPT2MrnMdjTSGVjER6OfGZO0P5jdykk",1787826050918]