[{"data":1,"prerenderedAt":402},["ShallowReactive",2],{"blog-es-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_es\u002Fblog\u002Fthree-ways-to-back-up-a-supabase-database.md","Tres formas de respaldar una base Supabase, y qué falta en cada una",{"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",{},"Todo el que construye sobre Supabase acaba haciéndose la misma pregunta, más o\nmenos una semana después de lanzar y casi siempre a las dos de la mañana: ",[14,15,16],"strong",{},"si\nrompo algo, ¿puedo recuperar mis datos?",[10,18,19],{},"La respuesta depende por completo de cuál de las tres rutas tomaste, y a cada\nuna se le escapa algo que las otras dos sí cubren.",[21,22,24],"h2",{"id":23},"cuál-debería-usar","¿Cuál debería usar?",[10,26,27],{},"Activa lo que te dé tu plan de Supabase y luego guarda una copia en otro sitio.\nSon dos trabajos distintos, y hacer solo el primero es justo el error que este\nartículo existe para evitar.",[10,29,30],{},"El backup del panel te protege de tus propios errores. Una copia que tienes tú\nte protege de perder la cuenta: un cobro fallido, un proyecto suspendido, una\ncontraseña que no puedes recuperar. Son desastres distintos y piden respuestas\ndistintas.",[32,33,34,56],"table",{},[35,36,37],"thead",{},[38,39,40,43,46,53],"tr",{},[41,42],"th",{},[41,44,45],{},"Panel de Supabase",[41,47,48,52],{},[49,50,51],"code",{},"pg_dump"," a mano",[41,54,55],{},"Backups gestionados",[57,58,59,73,84,95,106],"tbody",{},[38,60,61,65,68,71],{},[62,63,64],"td",{},"Funciona sin ti",[62,66,67],{},"Sí",[62,69,70],{},"No",[62,72,67],{},[38,74,75,78,80,82],{},[62,76,77],{},"La copia es tuya",[62,79,70],{},[62,81,67],{},[62,83,67],{},[38,85,86,89,91,93],{},[62,87,88],{},"Sobrevive a perder la cuenta",[62,90,70],{},[62,92,67],{},[62,94,67],{},[38,96,97,100,102,104],{},[62,98,99],{},"Comprobado antes de contar",[62,101,70],{},[62,103,70],{},[62,105,67],{},[38,107,108,111,114,117],{},[62,109,110],{},"Coste",[62,112,113],{},"Solo en planes de pago",[62,115,116],{},"Gratis",[62,118,119],{},"Una suscripción",[21,121,123],{"id":122},"qué-contiene-de-verdad-un-backup","Qué contiene de verdad un backup",[10,125,126],{},"Tus tablas, tus filas, tus índices y funciones y tus reglas de Row Level\nSecurity, las políticas que deciden quién puede leer qué, no solo las tablas a\nlas que se aplican. Eso es todo.",[10,128,129],{},"Lo que no contiene es todo lo que nunca estuvo en la base de datos:",[32,131,132,142],{},[35,133,134],{},[38,135,136,139],{},[41,137,138],{},"En el archivo",[41,140,141],{},"Fuera del archivo",[57,143,144,152,160,168],{},[38,145,146,149],{},[62,147,148],{},"La estructura de las tablas, con cada columna y restricción",[62,150,151],{},"Archivos en Storage: subidas, avatares, adjuntos",[38,153,154,157],{},[62,155,156],{},"Cada fila que crearon tus usuarios",[62,158,159],{},"Ajustes de autenticación, como tu app de Google o GitHub",[38,161,162,165],{},[62,163,164],{},"Índices y funciones",[62,166,167],{},"Edge functions, que viven en tu repositorio",[38,169,170,173],{},[62,171,172],{},"Políticas de Row Level Security",[62,174],{},[176,177],"diagram",{"alt":178,"caption":179,"src":180},"Un icono de base de datos con una flecha que entra en un archivo, marcada como correcta. Debajo, un icono de imagen con una flecha tachada hacia el mismo archivo, marcada como incorrecta.","Un backup de base de datos es una copia de la base de datos. Tus archivos subidos están en otro sitio, en las tres rutas.","\u002Fblog\u002Fthree-ways-to-back-up-a-supabase-database\u002Fdatabase-not-files-1600x570.png",[10,182,183,184,187,188,192],{},"Con lo que tropieza la gente es con ",[14,185,186],{},"Storage",". Cada avatar, cada PDF subido,\ncada imagen que añadieron tus usuarios vive en almacenamiento de objetos, no en\nla base de datos. La base solo guarda la ",[189,190,191],"em",{},"ruta"," de cada archivo. Restaura un\nbackup en un proyecto vacío y tendrás una tabla llena de enlaces a archivos que\nno están.",[21,194,196],{"id":195},"ruta-1-el-panel-de-supabase","Ruta 1: el panel de Supabase",[10,198,199],{},"La más fácil, y la que casi todo el mundo debería activar primero. Supabase hace\nbackups diarios en los planes de pago, y la recuperación a un punto en el tiempo\nestá disponible como extra si necesitas rebobinar a un minuto concreto en lugar\nde a la medianoche pasada.",[10,201,202],{},"En qué es buena: funciona sin ti, es completa, y restaurar son unos clics en una\ninterfaz en vez de un comando que tienes que acertar bajo presión.",[10,204,205,206,209],{},"Qué se le escapa: ",[14,207,208],{},"la copia vive dentro de la cuenta."," Si el proyecto queda\nsuspendido, la tarjeta falla o pierdes el acceso al login, los backups están\ndetrás de la misma puerta que aquello que protegían. Es una salida de incendios\ndentro del edificio.",[176,211],{"alt":212,"caption":213,"src":214},"Dos cuentas, las dos tachadas. En la primera el archivo de backup está dentro del límite de la cuenta y queda apagado con ella. En la segunda el archivo está fuera del límite y sigue ahí.","La misma cuenta perdida dos veces. Lo único que cambia es de qué lado de la línea estaba la copia.","\u002Fblog\u002Fthree-ways-to-back-up-a-supabase-database\u002Finside-the-account-1600x570.png",[10,216,217],{},"Además no existe en el plan gratuito, que es donde están la mayoría de las apps\nrecién lanzadas.",[10,219,220,221,226],{},"En qué plan estés decide si tienes esto siquiera, y\n",[222,223,225],"a",{"href":224},"\u002Fblog\u002Fdoes-supabase-back-up-my-database","comprobarlo lleva dos minutos",".",[21,228,230],{"id":229},"ruta-2-pg_dump-en-tu-propia-máquina","Ruta 2: pg_dump en tu propia máquina",[10,232,233,234,236],{},"Supabase es Postgres, así que la herramienta estándar de Postgres funciona.\n",[49,235,51],{}," escribe la base entera en un archivo que tienes tú.",[238,239,244],"pre",{"className":240,"code":242,"language":243},[241],"language-text","pg_dump \"postgresql:\u002F\u002F…tu cadena de conexión…\" \\\n  --clean --if-exists --no-owner \\\n  --file backup-2026-08-09.sql\n","text",[49,245,242],{"__ignoreMap":246},"",[10,248,249],{},"En qué es buena: es gratis, es completa, el archivo es tuyo, y puedes\nrestaurarlo en un proyecto nuevo de otra cuenta. De las tres rutas, esta es la\núnica que sobrevive a perder todo lo demás.",[10,251,205,252,255],{},[14,253,254],{},"solo ocurre cuando te acuerdas."," No es un tecnicismo, es el\nfallo entero. El dump de tu portátil lleva la fecha del último día que pensaste\nen ello, y el día que lo necesitas nunca es un día en el que estuvieras pensando\nen ello.",[10,257,258],{},"Hay un segundo problema, más callado: un dump sin probar es una suposición. Un\narchivo escrito mientras una migración estaba a medias, o que se cortó en\nsilencio porque cayó la conexión, se ve exactamente igual que uno bueno hasta el\ndía que intentas usarlo.",[21,260,262],{"id":261},"ruta-3-backups-gestionados","Ruta 3: backups gestionados",[10,264,265,266,269],{},"Otra cosa se encarga de sacar la copia con un horario, la guarda fuera de tu\ncuenta y ",[14,267,268],{},"comprueba que la copia es real antes de darla por hecha."," Esa última\nparte es la que de verdad importa.",[10,271,272,273,276],{},"Eso es lo que hace Reeve Care: varias copias al día según el plan, cifradas y\nguardadas fuera de tu cuenta de Supabase, cada una verificada contando lo que\nsalió contra lo que entró. Un backup no cuenta como hecho hasta que se ha\nverificado, y por eso la fecha que aparece en el panel es la de la última copia\n",[189,274,275],{},"verificada"," y no la del último intento.",[10,278,279],{},"El intercambio honesto: cuesta dinero y es un servicio más en tu stack. Si eres\nlo bastante disciplinado para llevar la ruta 2 con un horario real y probar las\nrestauraciones, no lo necesitas.",[10,281,282,283,287],{},"El ciclo completo está en la ",[222,284,286],{"href":285},"\u002Fsupabase-backups","página de copias de\nSupabase",": la copia que sale de Supabase, la verificación\nque viene después y el botón que la devuelve.",[21,289,291],{"id":290},"alguna-vez-has-restaurado-uno","¿Alguna vez has restaurado uno?",[10,293,294],{},"Esa pregunta decide si tienes un backup o un archivo que nadie ha abierto nunca.\nUn dump que nadie ha leído de vuelta es una suposición sobre el futuro, y el\nmomento en que descubres que era falsa es el momento en que necesitabas que\nfuese cierta.",[10,296,297],{},"Una prueba de restauración no tiene que ser dramática. Crea un proyecto nuevo de\nSupabase, carga en él tu backup más reciente, abre la app contra ese proyecto y\ncomprueba que hay una fila que reconoces. Media hora, una vez por trimestre. Si\nla restauración falla, te has enterado un martes por la tarde en vez de durante\nuna caída.",[10,299,300,301,305,306,310],{},"Si quieres la lista más amplia de cosas que conviene revisar en una app recién\nlanzada, la ",[222,302,304],{"href":303},"\u002Fchecklist","checklist de seguridad de 10 minutos"," cubre los backups\njunto al resto, y la ",[222,307,309],{"href":308},"\u002Fis-your-supabase-app-safe","guía de seguridad de Supabase","\nrepasa qué más se suele dejar abierto.",[21,312,314],{"id":313},"qué-hacer-esta-semana","Qué hacer esta semana",[316,317,318],"key-takeaways",{},[319,320,321,325,331,334,337],"ul",{},[322,323,324],"li",{},"Activa el backup que incluya tu plan de Supabase. Es lo más barato de esta lista y lleva alrededor de un minuto.",[322,326,327,328,330],{},"Haz hoy un ",[49,329,51],{}," y deja el archivo en algún sitio que no sea tu portátil. Incluso una copia vieja gana a ninguna copia.",[322,332,333],{},"Respalda tus archivos de Storage por separado. Ningún backup de base de datos de estas rutas los incluye.",[322,335,336],{},"Haz una restauración en un proyecto desechable, para que la próxima vez que leas ese archivo no sea la primera.",[322,338,339],{},"Decide cuántos datos podrías soportar perder, y elige la frecuencia a partir de esa cifra y no de lo que parece responsable.",[10,341,342,343,347,348,352],{},"Para leer después: si dabas por hecho que el deshacer de tu builder cubría tus\ndatos, ",[222,344,346],{"href":345},"\u002Fblog\u002Fversion-history-is-not-a-backup","el historial de versiones no es un backup","\nes el primero que conviene leer. Después de eso, tu base de datos es tan privada\ncomo las claves que tiene delante, y ",[222,349,351],{"href":350},"\u002Fblog\u002Fwhich-api-keys-are-safe-in-your-frontend","qué claves de API son seguras en tu frontend","\ntrata la que se salta cada regla que pongas.",{"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,"El panel, pg_dump y un servicio gestionado. Qué guarda de verdad cada uno, qué deja fuera sin avisar y cuál sobrevive a perder la cuenta.",false,"md",[370,373,376,379],{"q":371,"a":372},"¿El plan gratuito de Supabase incluye backups?","No. Los backups diarios empiezan en el plan Pro, y la recuperación a un punto en el tiempo es un extra por encima. En el plan gratuito no hay ninguna copia automática de tus datos en ninguna parte, lo que sorprende a casi todo el mundo la primera vez que la necesita.",{"q":374,"a":375},"¿Un backup es lo mismo que el historial de versiones de mi builder?","No, y este es el malentendido más caro de este artículo. Lovable, Bolt y los demás versionan tu CÓDIGO. Tu base de datos es un servicio aparte con tus usuarios, sus contenidos y sus pedidos. Volver el código a ayer no vuelve atrás tus datos, y borrar una tabla en el editor de Supabase deja tu código perfectamente intacto.",{"q":377,"a":378},"¿Cada cuánto debería respaldar?","Pregúntate mejor cuánto estás dispuesto a volver a teclear. Si perder un día de registros fuese molesto, cada noche basta. Si perder una hora de pedidos supusiera devolver dinero, necesitas algo más cercano a cada hora. La prueba honesta no es la frecuencia, es si alguna vez has restaurado uno.",{"q":380,"a":381},"¿Necesito respaldar si mi app casi no tiene usuarios?","Ese es el momento más barato para empezar, porque los datos son pocos y lo que importa es la costumbre. Las pérdidas dolorosas rara vez son dramáticas. Son un borrado mal tecleado durante un arreglo de madrugada, en un proyecto con los usuarios reales justos para que empezar de cero no sea una opción.","\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 base de datos supabase","respaldar app vibe coded",{},true,"Tres formas de respaldar una base de datos 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],"Los backups del propio Supabase son los más fáciles de activar y los peores para confiar: la copia vive dentro de la cuenta que podrías perder.","pg_dump es gratis y completo, y solo ocurre cuando te acuerdas. Acordarse es la parte que falla.","Ninguna de las tres respalda tus archivos de Storage. Eso es un trabajo aparte tomes la ruta que tomes.","2026-08-10","9m29Ncz53Nj5EUmexgk7uxNwO8Bmr3zEPmyNg9bj2ko",1787826048206]