Alternativa a pg_dump

Para las copias de seguridad lógicas, Databasus se construye sobre pg_dump. En lugar de reemplazar pg_dump, Databasus amplía sus capacidades con gestión de copias de seguridad, interfaz web, programación automática, integración con almacenamiento en la nube, notificaciones, funciones de trabajo en equipo y cifrado integrado. Más allá de los respaldos lógicos, Databasus también admite copias físicas, copias incrementales con archivado de WAL y recuperación a un punto en el tiempo (Point-in-Time Recovery).

Comparación rápida

Este es un resumen de cómo Databasus amplía la funcionalidad básica de pg_dump:

Funciónpg_dumpDatabasus
Motor de copiaspg_dumpConstruido sobre pg_dump
Gestión de copias de seguridad❌ No✅ Sí
Soporte de otras bases de datosSolo PostgreSQLPostgreSQL, MySQL, MariaDB, MongoDB
InterfazLínea de comandosInterfaz web + API
ProgramaciónManual o scripts de cron✅ Programador integrado
Destinos de almacenamientoSistema de archivos localLocal, S3, Google Drive, R2, Azure, NAS, Dropbox
Compresióngzip, LZ4, zstd (manual)zstd (automática, optimizada)
CifradoRequiere herramientas externas✅ AES-256-GCM integrado
Notificaciones❌ Ninguna✅ Slack, Teams, Telegram, correo, webhooks
Funciones para equipos❌ Ninguna✅ Espacios de trabajo, RBAC, registros de auditoría
Políticas de retenciónScripts de limpieza manuales✅ Retención automática
Monitorización de salud❌ Ninguna✅ Comprobaciones de salud integradas
Copias físicas❌ No✅ Sí
Copias incrementales❌ No✅ A nivel de bloque (PG 17+)
Point-in-Time Recovery❌ No✅ Sí
Copias remotas✅ Sí (CLI)✅ Sí

¿Qué es pg_dump?

pg_dump es la utilidad nativa de PostgreSQL para crear copias de seguridad lógicas. Forma parte de PostgreSQL desde el principio y es la herramienta estándar para exportar bases de datos.

Puntos fuertes de pg_dump

  • Copias portables: crea volcados en formato SQL o personalizado que pueden restaurarse en distintas versiones de PostgreSQL.
  • Copias selectivas: puede exportar tablas o esquemas concretos, o bases de datos completas.
  • Instantáneas consistentes: usa el MVCC de PostgreSQL para crear copias consistentes sin bloquear las escrituras.
  • Soporte universal: disponible en cualquier instalación de PostgreSQL, bien documentado y probado durante años.
  • Formatos de salida flexibles: SQL plano, personalizado, directorio o tar.

Limitaciones de pg_dump

Aunque pg_dump es potente, usarlo en producción suele requerir scripts adicionales:

  • Sin programación integrada: requiere tareas de cron o programadores externos.
  • Solo almacenamiento local: escribe en el sistema de archivos local; subir a la nube requiere scripts adicionales.
  • Sin cifrado: los archivos de respaldo no están cifrados por defecto; hay que encadenar la salida con gpg o herramientas similares.
  • Sin notificaciones: no hay forma de recibir avisos de éxito o fallo sin scripts propios.
  • Sin gestión de retención: las copias antiguas deben limpiarse a mano o con scripts.
  • Solo línea de comandos: sin interfaz visual para monitorizar o administrar.

Cómo Databasus amplía pg_dump

Databasus usa pg_dump como motor de copias: conserva todas las ventajas de los respaldos lógicos y añade funciones empresariales.

Bajo el capó: cuando lanza una copia de seguridad en Databasus, este ejecuta pg_dump con parámetros optimizados y luego se encarga de la compresión, el cifrado y la subida al destino de almacenamiento configurado.

Interfaz web

En lugar de memorizar las opciones de línea de comandos de pg_dump, Databasus ofrece una interfaz web donde puede:

  • Añadir bases de datos con un asistente de conexión guiado
  • Configurar horarios de copia con controles visuales
  • Ver el historial y el estado de las copias de un vistazo
  • Descargar o restaurar copias con un clic
  • Consultar gráficos de salud y disponibilidad de las bases de datos

Compresión optimizada

Databasus usa por defecto compresión zstd (nivel 5), que ofrece:

  • Archivos de 4 a 8 veces más pequeños que los volcados sin comprimir
  • ~20% de sobrecoste en tiempo de ejecución, mucho más rápido que gzip
  • Gestión automática, sin necesidad de encadenar herramientas de compresión

Más allá de pg_dump: copias físicas y PITR

Aunque Databasus se apoya en pg_dump para los respaldos lógicos, también va más allá de lo que pg_dump puede ofrecer:

  • Copias físicas: copias a nivel de archivos de todo el clúster de la base de datos mediante pg_basebackup. Copia y restauración más rápidas para bases de datos grandes.
  • Copias incrementales y de WAL: copias incrementales a nivel de bloque mediante pg_basebackup --incremental (basadas en los resúmenes de WAL del servidor) más streaming continuo de WAL mediante pg_receivewal, lo que habilita la recuperación a un punto en el tiempo: restaure a cualquier segundo entre copias.
  • Recuperación ante desastres: diseñado para requisitos de pérdida de datos casi nula con copias base físicas y streaming continuo de WAL.

Estas copias se apoyan en el mecanismo de respaldo nativo de PostgreSQL 17, de modo que Databasus reutiliza las herramientas probadas de PostgreSQL en lugar de reinventarlas. Requieren PostgreSQL 17 o superior; en versiones anteriores solo están disponibles las copias lógicas con pg_dump. Todo se ejecuta de forma remota desde el host de Databasus a través del protocolo de replicación, así que no se instala nada en el servidor de la base de datos. A las redes cerradas se llega mediante un túnel SSH hacia un host interno o un bastión, por lo que la base de datos nunca tiene que exponerse públicamente. Lea cómo funcionan las copias físicas y PITR.

Automatización de copias

Uno de los retos más habituales con pg_dump es montar copias automáticas fiables.

Automatización tradicional con pg_dump

Un script típico de automatización de pg_dump puede parecerse a esto:

#!/bin/bash
# Backup script for pg_dump
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="/backups"
DB_NAME="mydb"

# Create backup
pg_dump -Fc -h localhost -U postgres $DB_NAME > $BACKUP_DIR/$DB_NAME_$DATE.dump

# Compress (if not using custom format)
# gzip $BACKUP_DIR/$DB_NAME_$DATE.sql

# Encrypt
gpg --encrypt --recipient backup@company.com $BACKUP_DIR/$DB_NAME_$DATE.dump

# Upload to S3
aws s3 cp $BACKUP_DIR/$DB_NAME_$DATE.dump.gpg s3://my-bucket/backups/

# Cleanup old backups (keep last 7 days)
find $BACKUP_DIR -name "*.dump*" -mtime +7 -delete

# Send notification on failure
if [ $? -ne 0 ]; then
  curl -X POST https://hooks.slack.com/... -d '{"text":"Backup failed!"}'
fi

Este script hay que mantenerlo, probarlo y monitorizarlo. Cada base de datos requiere su propia entrada de cron.

Automatización con Databasus

Con Databasus, la misma funcionalidad viene integrada:

  • Programador visual: configure copias cada hora, diarias, semanales, mensuales o con cron a horas concretas.
  • Compresión automática: la compresión zstd se aplica automáticamente.
  • Cifrado integrado: cifrado AES-256-GCM con claves únicas por copia.
  • Subida a la nube: subida directa a S3, Google Drive, Cloudflare R2, Azure y otros destinos.
  • Políticas de retención: limpieza automática de copias antiguas según su configuración de retención.
  • Notificaciones: avisos a Slack, Teams, Telegram o correo electrónico en caso de éxito o fallo.

Opciones de almacenamiento

pg_dump escribe en el sistema de archivos local. Llevar las copias a un almacenamiento en la nube requiere herramientas y scripts adicionales.

Destinos de almacenamiento de Databasus

Databasus admite varios destinos de almacenamiento de serie:

  • Almacenamiento local
  • Amazon S3 y servicios compatibles con S3
  • Google Drive
  • Cloudflare R2
  • Azure Blob Storage
  • NAS (almacenamiento conectado en red)
  • Dropbox

Cada base de datos puede tener su propio destino de almacenamiento y puede configurar varios destinos para redundancia.

Ver todas las opciones de almacenamiento →

Notificaciones

Saber cuándo las copias tienen éxito o fallan es fundamental para proteger los datos.

Notificaciones con pg_dump

pg_dump no tiene sistema de notificaciones. Necesita:

  • Escribir scripts envoltorio que comprueben los códigos de salida
  • Integrarse con herramientas de monitorización externas
  • Montar sus propios canales de alertas

Notificaciones de Databasus

Databasus incluye notificaciones integradas para:

  • Slack
  • Discord
  • Telegram
  • Microsoft Teams
  • Correo electrónico
  • Webhooks (para integraciones personalizadas)

Configure qué eventos disparan notificaciones: copia con éxito, copia fallida o ambos.

Ver todos los canales de notificación →

Funciones para equipos

pg_dump es una herramienta de línea de comandos para un solo usuario. Databasus añade funciones de colaboración para equipos:

Capacidades de Databasus para equipos

  • Espacios de trabajo: organice bases de datos, notificadores y almacenamientos por proyecto o equipo. Los usuarios solo ven los espacios de trabajo a los que fueron invitados.
  • Control de acceso basado en roles: asigne permisos de lector, editor o administrador para controlar lo que puede hacer cada miembro del equipo.
  • Registros de auditoría: siga todas las actividades y cambios del sistema. Esencial para el cumplimiento de seguridad y la trazabilidad.
  • Notificaciones compartidas: los canales del equipo reciben automáticamente el estado de las copias.

Más sobre la gestión de accesos →

Seguridad

La seguridad es donde Databasus aporta más valor frente al uso directo de pg_dump.

Seguridad con pg_dump

pg_dump crea archivos de respaldo sin cifrar. Protegerlos requiere:

  • Encadenar la salida con herramientas de cifrado (gpg, openssl)
  • Gestionar las claves de cifrado por separado
  • Garantizar el almacenamiento seguro y la rotación de las claves
  • Configurar permisos de archivo adecuados

Seguridad de Databasus

Databasus implementa la seguridad en varios niveles:

  • Cifrado AES-256-GCM: todas las contraseñas, tokens y credenciales están cifrados. La clave de cifrado se guarda separada de la base de datos.
  • Cifrado único por copia: cada archivo de respaldo se cifra con una clave única derivada de la clave maestra, el ID de la copia y una sal aleatoria.
  • Acceso de solo lectura a la base de datos: exige permisos solo de SELECT; así, incluso si la cuenta se ve comprometida, los datos no pueden corromperse.

Más sobre la seguridad de Databasus →

Proceso de restauración

Ambas herramientas permiten restaurar copias, pero con flujos distintos.

Restaurar copias de pg_dump

Restaurar una copia de pg_dump requiere:

  1. Localizar el archivo de respaldo
  2. Descifrarlo si está cifrado
  3. Descomprimirlo si está comprimido
  4. Ejecutar pg_restore o psql con los parámetros correctos

Restaurar copias de Databasus

Databasus simplifica la restauración:

  • Descarga con un clic: descargue cualquier copia directamente desde la interfaz web.
  • Descifrado automático: las copias se descifran automáticamente al descargarlas.
  • Comandos de restauración listos: Databasus muestra el comando pg_restore exacto para cada copia.
  • Restauración en paralelo: aproveche varios núcleos de CPU para restaurar más rápido bases de datos grandes.

Instalación

Instalación de pg_dump

pg_dump viene con PostgreSQL. Si tiene PostgreSQL instalado, ya tiene pg_dump.

Instalación de Databasus

Databasus ofrece varios métodos de instalación:

  • Script de una línea: instala Docker (si hace falta), configura Databasus y activa el arranque automático.
  • Docker run: un solo comando para arrancar con PostgreSQL incorporado.
  • Docker Compose: para tener más control sobre el despliegue.

Ver la guía de instalación →

Conclusión

pg_dump es la utilidad de respaldo probada de PostgreSQL, y Databasus se construye directamente sobre ella. Elegir entre usar pg_dump directamente o a través de Databasus depende de sus necesidades.

Use pg_dump directamente si:

  • Necesita exportaciones puntuales o bajo demanda de la base de datos
  • Se siente cómodo escribiendo y manteniendo scripts de shell
  • Ya tiene infraestructura de automatización (Ansible, Terraform, etc.)
  • Solo necesita copias locales sin almacenamiento en la nube
  • Es un desarrollador que trabaja solo y con necesidades simples

Use Databasus si:

  • Quiere copias automáticas y programadas sin escribir scripts
  • Necesita guardar las copias en la nube (S3, Google Drive, etc.)
  • Quiere cifrado integrado sin gestionar claves a mano
  • Necesita notificaciones cuando las copias tienen éxito o fallan
  • Trabaja en equipo y necesita funciones de colaboración
  • Prefiere una interfaz visual antes que herramientas de línea de comandos
  • Quiere políticas de retención y limpieza automáticas
  • Necesita copias físicas, copias incrementales o Point-in-Time Recovery para la recuperación ante desastres

Databasus se construye sobre pg_dump para los respaldos lógicos y lo amplía con automatización, seguridad y funciones para equipos. Además admite copias físicas, copias incrementales con archivado de WAL y Point-in-Time Recovery, capacidades que pg_dump sencillamente no puede ofrecer.