BackupDrill: respaldos de Supabase Postgres de código abierto con pruebas automatizadas de restauración
BackupDrill realiza respaldos de las bases de datos de Supabase Postgres en un bucket propio y, después, restaura cada respaldo en una instancia temporal de PostgreSQL para verificar que el proceso funciona correctamente.
La mayoría de los equipos no comprueba si sus respaldos con pg_dump son válidos hasta el día en que necesitan recuperarlos. BackupDrill permite realizar esta verificación de forma sistemática y periódica.
Qué hace:
- Realiza un volcado de un proyecto de Supabase mediante pg_dump (en formato personalizado) y transmite el archivo resultante a cualquier bucket compatible con S3 (AWS S3, Cloudflare R2, Backblaze B2 o Wasabi). Además, genera un manifiesto con sumas de comprobación. Los archivos de almacenamiento también pueden incluirse en la misma instantánea.
backupdrill drillrestaura la última instantánea en un contenedor PostgreSQL efímero mediante pg_restore. Verifica la integridad del archivo de respaldo mediante su suma de comprobación, comprueba que pg_restore haya completado la restauración correctamente y que se hayan creado los objetos de la fase post-data, como índices, restricciones y disparadores. También verifica que estén presentes todas las tablas y que aquellas que contenían datos sigan teniendo registros. Por último, registra cuánto tiempo llevó completar la restauración.- Los respaldos se generan en formato de archivo estándar de pg_dump, por lo que pueden restaurarse directamente con pg_restore, sin necesidad de utilizar BackupDrill.
- La herramienta no permite ejecutar una versión de pg_dump cuya versión principal sea anterior a la del servidor. Actualmente, Supabase utiliza PostgreSQL 15, 16 y 17.
Alcance: actualmente, la herramienta solo es compatible con instancias de PostgreSQL alojadas en Supabase. Por defecto, se realiza un volcado del esquema public, aunque es posible incluir otros esquemas.
La CLI cuenta con licencia MIT: https://github.com/backupdrill/cli (paquete de npm: backupdrill). El servicio en la nube disponible en https://backupdrill.com utiliza el mismo motor para ejecutar respaldos de forma programada, realizar pruebas de restauración y enviar alertas por correo electrónico si algún respaldo o prueba de restauración falla. Ofrece un plan gratuito.

