Saltar al contenido

Backups

Backups del plan gratuito de Supabase: cómo hacer uno sin terminal

No hay backups en el plan gratuito de Supabase: la copia tienes que hacerla tú. Cómo sacarla desde el panel y qué deja fuera la vía CSV.

Vlad Tkachenko8 min de lectura
Una base de datos, una tabla sacada de ella y, al final de una flecha, una pequeña pila de archivos guardados.

En resumen

  • No existen los backups del plan gratuito de Supabase. No se copia nada a ninguna parte de forma programada, así que la única copia de tus datos es la que hayas hecho tú.
  • El panel exporta una tabla a CSV en unos clics. Eso saca tus filas y deja atrás la estructura: relaciones, tipos, políticas, cuentas de acceso y archivos.
  • Para una copia capaz de reconstruir el proyecto, un cliente de base de datos de escritorio hace un volcado completo a golpe de ratón. Sin terminal.

Tu proyecto está en el plan gratuito de Supabase y has abierto Database y luego Backups buscando una lista de copias con fecha para restaurar. Ahí no hay nada. Ni fechas, ni botón de restaurar, solo un aviso para mejorar de plan. La página no está rota. No hay backups del plan gratuito de Supabase que listar, porque el plan no toma ninguno.

Aquí es donde se tuerce la mayoría de las respuestas a esto. Te dan un comando pg_dump, que es la herramienta correcta y una instrucción que no puedes seguir: da por hecho un terminal, una instalación de Postgres y una cadena de conexión, y tú montaste esta app en Lovable o Bolt precisamente para no necesitar ninguna de las tres cosas.

Puedes sacar tus datos desde el panel. Una vía lleva unos diez minutos y te da tus filas. La otra lleva más y te da la base de datos.

¿El plan gratuito de Supabase incluye backups?

No. El plan gratuito no toma ninguno, y no hay ningún ajuste que los active. Los backups diarios automáticos empiezan en el plan Pro, y la recuperación a un punto en el tiempo es un extra de pago por encima de eso.

En qué plan estás es el dato del que depende todo lo demás aquí, y se comprueba en dos minutos. Si estás en el gratuito, la única copia de tus datos es la que hayas hecho tú. El resto de este artículo va de cómo hacer una hoy.

La copia más rápida: exporta tus tablas a CSV

Abre el Table Editor, elige una tabla y usa el control de exportación que hay sobre la cuadrícula. Te ofrece descargar cada fila como archivo CSV, y ese archivo llega a tu carpeta de descargas como cualquier otro.

Luego repítelo con la siguiente tabla, y con la de después. La exportación trabaja de una tabla en una tabla, que es la parte que nadie suele mencionar: tienes que saber qué tablas tiene tu app. La lista de la izquierda del Table Editor es esa lista, y vale la pena leerla hasta el final antes de empezar.

Diez minutos de clics te dan una carpeta de archivos CSV con todas las filas que han creado tus usuarios. Como manera de no perder tus datos esta tarde, son diez minutos bien gastados. Lo que tienes al terminar es una copia de las filas, y solo de las filas.

Qué se dejan atrás los archivos CSV

Cinco cosas, y ninguna de ellas es una fila. Un CSV contiene el contenido de una tabla y nada sobre cómo estaba construida esa tabla, así que con lo que te quedas es una lista de lo que había en la habitación, sin ninguna de las estanterías.

Qué se queda atrásPor qué importa cuando devuelves los datos
Las relacionesUn CSV no tiene ni idea de qué tabla hay que cargar primero, así que la importación falla o deja filas apuntando a cosas que ya no están
Los tipos de las columnasTodo llega como texto hasta que algo le diga otra cosa a la base de datos nueva, y una celda vacía y un null de verdad pasan a ser lo mismo
Las políticas de Row Level SecurityLas reglas que deciden quién puede leer qué no están en el archivo, y una tabla recreada sin ellas queda cerrada a todo el mundo o abierta a todo el mundo
Tus cuentas de accesoEstán en un esquema auth aparte, que es la razón de que no aparezcan en el Table Editor junto a tus propias tablas
Todo lo que subieron tus usuariosSupabase Storage vive fuera de la base de datos, así que ningún export de ninguna tabla ha contenido jamás un archivo
Las filas cruzan al otro lado. Las líneas entre ellas, las reglas que las cubren y las personas que entran, no.

La última fila es la que sorprende a la gente. Tu base de datos solo guardó siempre la ruta a cada archivo subido, así que una carpeta de CSVs cargada en un proyecto nuevo te da una tabla llena de enlaces a archivos que no están ahí.

Esto no hace que la vía del CSV no valga nada. Si lo que te da miedo es un borrado desafortunado en una tabla, un CSV de esa tabla es lo que quieres, y devolver unos cientos de filas por el mismo editor es un trabajo que puedes hacer tú. Lo que no puede es reconstruir el proyecto entero.

Ya que estás mirando tus tablas: nuestro escaneo gratuito lee tu sitio en vivo desde fuera y te dice cuáles de ellas le responden a un desconocido. Tarda unos 20 segundos y no necesita cuenta: escanea tu app.

Un backup de verdad, sin abrir un terminal

Usa un cliente de base de datos de escritorio. pgAdmin, TablePlus y DBeaver se conectan todos a un proyecto de Supabase con una cadena de conexión, y los tres tienen un comando de backup o de volcado esperando en un menú. Lo que sale es un archivo pg_dump completo, y no escribes ni un comando para conseguirlo.

  1. En tu panel de Supabase, abre Connect y copia una cadena de conexión. Si la directa se niega a conectar, coge la del session pooler, que es la que usan las propias instrucciones de restauración de Supabase.
  2. Pégala en el cliente como conexión nueva, junto con la contraseña de tu base de datos.
  3. Busca el comando de backup. En pgAdmin haces clic derecho en la base de datos y eliges Backup; en TablePlus y DBeaver está bajo un menú de exportación o de volcado.
  4. Guarda el archivo en algún sitio que no sea solo tu portátil.
Las dos vías le piden lo mismo a Postgres y producen el mismo archivo. Una de ellas necesita que lo escribas tú.

Ese archivo se lleva la habitación y las estanterías: tablas, columnas, tipos, índices, funciones y tus políticas de Row Level Security. De las vías que tienes abiertas en el plan gratuito, es la única capaz de reconstruir el proyecto en otro sitio, en otra cuenta, un día en el que no puedas entrar en esta. Volver a leerlo es un trabajo aparte, y cómo restaurar un backup de Supabase repasa qué reemplaza una restauración y qué deja roto por detrás.

Dónde va el archivo, y cada cuánto

A algún sitio que no sea el mismo portátil ni la misma cuenta de Supabase. Son dos fallos distintos: el portátil cubre un disco que muere, la cuenta cubre una tarjeta que caducó mientras estabas fuera, un proyecto suspendido, un acceso que ya nadie recupera. Una copia dentro de la cuenta está detrás de la misma puerta que aquello que protegía, y eso es lo que compara vía a vía tres formas de respaldar una base de datos de Supabase.

Sobre cada cuánto, pregúntate cuánto estarías dispuesto a volver a teclear. Perder un día de altas es molesto, y una copia cada noche lo cubre. Perder una hora de pedidos significa devolverle el dinero a gente, y para eso cada noche ya es demasiado lento.

Luego carga una de tus copias en un proyecto de Supabase de usar y tirar y abre tu app contra él. Es el único paso de aquí que te dice si el archivo sirve para algo, y cuesta alrededor de media hora.

Si prefieres no hacer esto a mano

Entonces algo tiene que tomar la copia por ti y comprobarla después. Eso es lo que hace Reeve Care.

Una copia sale de tu cuenta de Supabase de forma programada, se relee antes de contar como hecha, y hace el camino inverso el día que la necesitas.
  • Corre de forma programada, varias veces al día según el plan, se acuerde alguien o no.
  • La copia va cifrada y guardada fuera de tu cuenta de Supabase, así que perder la cuenta no se lleva los backups con ella.
  • Cada copia se relee y se cuenta contra lo que entró. La fecha que ves en tu panel es la de la última copia que pasó esa comprobación, nunca la del último intento.
  • Restaurar es un botón, y antes de empezar toma una instantánea del estado actual, así que hasta la restauración tiene su deshacer.
  • Tus archivos subidos se copian también, en cuanto conectes tus buckets de Storage.

Deja encendidos también los backups del propio Supabase el día que pases a un plan de pago. Dos copias en dos sitios es la idea entera. Lo que incluye cada plan está en la tabla de precios de Care, y la copia, la comprobación y la restauración están dibujadas paso a paso en la página de backups de Supabase.

Qué hacer esta semana

Qué hacer

  • Confirma en qué plan está tu proyecto. En el gratuito no se está copiando nada por ti, y todo lo demás de aquí sale de ese dato.
  • Exporta hoy tus tablas a CSV si lo único que tienes son diez minutos. Media copia gana a ninguna copia.
  • Saca esta semana un volcado completo con un cliente de escritorio y deja el archivo en algún sitio que no sea tu portátil.
  • Copia aparte tus archivos de Storage. Ningún backup de base de datos los incluye, por ninguna vía.
  • Carga una copia en un proyecto de usar y tirar, para que la primera vez que leas ese archivo no sea el día que lo necesitas.

Haz el export a CSV antes de cerrar esta pestaña. Es lo más pequeño y útil de la lista y funciona en el plan que ya tienes. La lista de seguridad de 10 minutos cubre los backups junto con el resto de lo que conviene revisar en una app recién lanzada.

Preguntas frecuentes

¿Puedo descargar un backup desde el panel de Supabase en el plan gratuito?

No. La página de backups es una función de pago, y en el plan gratuito no hay nada ahí para descargar, porque nunca se tomó nada. Lo que sí puedes descargar son tus propios datos: el Table Editor exporta cualquier tabla como archivo CSV, y un cliente de base de datos de escritorio conectado a tu proyecto te escribe un volcado completo. Ambas son cosas que haces, no cosas que ocurren solas.

¿Un export a CSV es un backup?

Es medio backup. Un archivo CSV contiene las filas de una tabla y nada sobre cómo estaba construida esa tabla, así que lo que puedes reconstruir con él es una hoja de cálculo y no una base de datos. Le faltan: las relaciones entre tablas, los tipos de las columnas, tus políticas de Row Level Security, tus cuentas de acceso y todos los archivos que subieron tus usuarios. Para devolver una tabla que alguien vació sin querer es justo lo que necesitas. Para reconstruir un proyecto no basta.

¿Cómo hago copia de las cuentas de auth de Supabase?

Tus cuentas de acceso viven en un esquema de base de datos aparte llamado auth, y por eso nunca aparecen en el Table Editor junto a tus tablas ni acaban en un CSV de ellas. Un volcado completo sí puede llevarse ese esquema. Volver a poner esas cuentas en marcha en otro proyecto lo documenta Supabase como una tarea con sus propios pasos, y no como algo que viaje de paquete con tus tablas. Léelo antes de necesitarlo, no durante.

Mi proyecto está pausado. ¿Puedo sacar mis datos igual?

Reanúdalo primero. Supabase pausa los proyectos gratuitos tras un tiempo de poca actividad, y un proyecto pausado responde a cada petición con un error hasta que lo vuelves a levantar desde el panel. Una pausa no es un borrado. Cuando el proyecto esté corriendo otra vez, las dos vías de este artículo funcionan con normalidad, y sacar una copia en ese momento es lo más sensato.

¿No será mejor pasar a Pro y ya está?

Es la forma más barata de tener una copia diaria automática, y merece la pena. No sustituye a guardar una copia tuya, porque las copias que toma Supabase viven dentro de la cuenta de Supabase. Eso te cubre el día que rompes tus propios datos y no el día que pierdes el acceso a la cuenta. Si tu app tiene clientes de verdad, la respuesta suele ser las dos cosas.

Escrito por

Vlad Tkachenko

Fundador de Reeve

Me paso el día mirando apps creadas con Lovable, Bolt, v0, Cursor y Replit, y la corta lista de errores que aparecen en ellas una y otra vez.

Más sobre el autor

Sigue leyendo

Todos los artículos

¿No sabes cómo está tu propia app?

Haz un escaneo gratuito y obtén una nota clara de la A a la F en unos 20 segundos. Sin cuenta y sin tarjeta.

Analizar mi app gratis

Comprobación externa automatizada, no una auditoría completa. La ausencia de hallazgos no es garantía de seguridad.