Alternative à pg_dump
Pour les sauvegardes logiques, Databasus s'appuie sur pg_dump. Plutôt que de remplacer pg_dump, Databasus étend ses capacités avec la gestion des backups, une interface web, la planification automatique, l'intégration du stockage cloud, les notifications, le travail en équipe et le chiffrement intégré. Au-delà des sauvegardes logiques, Databasus prend aussi en charge les sauvegardes physiques, les sauvegardes incrémentales avec archivage des WAL et la restauration à un instant donné (Point-in-Time Recovery).
Comparaison rapide
Voici un aperçu de la façon dont Databasus étend les fonctionnalités de base de pg_dump :
| Fonctionnalité | pg_dump | Databasus |
|---|---|---|
| Moteur de sauvegarde | pg_dump | Construit sur pg_dump |
| Gestion des backups | ❌ Non | ✅ Oui |
| Autres bases de données | PostgreSQL uniquement | PostgreSQL, MySQL, MariaDB, MongoDB |
| Interface | Ligne de commande | Interface web + API |
| Planification | Manuelle ou scripts cron | ✅ Planificateur intégré |
| Destinations de stockage | Système de fichiers local | Local, S3, Google Drive, R2, Azure, NAS, Dropbox |
| Compression | gzip, LZ4, zstd (manuelle) | zstd (automatique, optimisée) |
| Chiffrement | Outils externes requis | ✅ AES-256-GCM intégré |
| Notifications | ❌ Aucune | ✅ Slack, Teams, Telegram, e-mail, webhooks |
| Fonctions d'équipe | ❌ Aucune | ✅ Espaces de travail, RBAC, journaux d'audit |
| Politiques de rétention | Scripts de nettoyage manuels | ✅ Rétention automatique |
| Surveillance de l'état | ❌ Aucune | ✅ Health checks intégrés |
| Sauvegardes physiques | ❌ Non | ✅ Oui |
| Sauvegardes incrémentales | ❌ Non | ✅ Par blocs (PG 17+) |
| Point-in-Time Recovery | ❌ Non | ✅ Oui |
| Sauvegardes distantes | ✅ Oui (CLI) | ✅ Oui |
Qu'est-ce que pg_dump ?
pg_dump est l'utilitaire natif de PostgreSQL pour créer des sauvegardes logiques. Il fait partie de PostgreSQL depuis ses débuts et reste l'outil standard pour exporter des bases de données.
Points forts de pg_dump
- Sauvegardes portables : produit des dumps SQL ou au format custom restaurables sur différentes versions de PostgreSQL.
- Sauvegardes sélectives : peut exporter des tables ou des schémas précis, ou des bases entières.
- Instantanés cohérents : utilise le MVCC de PostgreSQL pour créer des sauvegardes cohérentes sans bloquer les écritures.
- Largement pris en charge : présent dans chaque installation PostgreSQL, bien documenté et éprouvé.
- Formats de sortie flexibles : SQL brut, custom, répertoire ou tar.
Limites de pg_dump
pg_dump est puissant, mais son utilisation en production demande en général des scripts supplémentaires :
- Pas de planification intégrée : nécessite des tâches cron ou des planificateurs externes.
- Stockage local uniquement : écrit sur le système de fichiers local ; l'envoi vers le cloud demande des scripts en plus.
- Pas de chiffrement : les fichiers de backup ne sont pas chiffrés par défaut ; il faut passer par gpg ou un outil similaire.
- Pas de notifications : aucun moyen d'être alerté du succès ou de l'échec d'une sauvegarde sans scripts maison.
- Pas de gestion de la rétention : les anciens backups doivent être supprimés à la main ou par script.
- Ligne de commande uniquement : aucune interface visuelle pour la surveillance ou la gestion.
Comment Databasus étend pg_dump
Databasus utilise pg_dump comme moteur de sauvegarde : il conserve tous les avantages des sauvegardes logiques et ajoute des fonctionnalités d'entreprise par-dessus.
Sous le capot : quand vous lancez une sauvegarde dans Databasus, il exécute pg_dump avec des paramètres optimisés, puis gère la compression, le chiffrement et l'envoi vers la destination de stockage configurée.
Interface web
Au lieu de mémoriser les options de pg_dump en ligne de commande, Databasus fournit une interface web où vous pouvez :
- Ajouter des bases de données avec un assistant de connexion guidé
- Configurer les plannings de sauvegarde avec des contrôles visuels
- Suivre l'historique et le statut des backups d'un coup d'œil
- Télécharger ou restaurer un backup en un clic
- Consulter les graphiques d'état et de disponibilité des bases
Compression optimisée
Databasus utilise par défaut la compression zstd (niveau 5), ce qui apporte :
- Des fichiers 4 à 8 fois plus petits que les dumps non compressés
- ~20 % de surcoût en temps seulement, bien plus rapide que gzip
- Une prise en charge automatique, sans avoir à passer par des outils de compression
Au-delà de pg_dump : sauvegardes physiques et PITR
Databasus s'appuie sur pg_dump pour les sauvegardes logiques, mais va aussi au-delà de ce que pg_dump peut offrir :
- Sauvegardes physiques : copies au niveau fichier de l'ensemble du cluster via
pg_basebackup. Sauvegarde et restauration plus rapides pour les grosses bases. - Sauvegardes incrémentales et WAL : sauvegardes incrémentales par blocs via
pg_basebackup --incremental(pilotées par les résumés WAL côté serveur) plus streaming continu des WAL viapg_receivewal, ce qui permet la restauration à un instant donné : revenez à n'importe quelle seconde entre deux sauvegardes. - Reprise après sinistre : conçu pour des exigences de perte de données quasi nulle, avec des sauvegardes physiques de base et un streaming WAL continu.
Ces sauvegardes reposent sur le mécanisme natif de PostgreSQL 17 : Databasus réutilise l'outillage éprouvé de PostgreSQL au lieu de le réinventer. Elles nécessitent PostgreSQL 17 ou plus récent ; sur les versions antérieures, seules les sauvegardes logiques pg_dump sont disponibles. Tout s'exécute à distance depuis l'hôte Databasus via le protocole de réplication, donc rien n'est installé sur le serveur de base de données. Les réseaux fermés sont atteints par un tunnel SSH vers un hôte interne ou un bastion, si bien que la base n'a jamais besoin d'être exposée publiquement. Lisez comment fonctionnent les sauvegardes physiques et PITR.
Automatisation des sauvegardes
L'un des défis les plus courants avec pg_dump est la mise en place de sauvegardes automatiques fiables.
Automatisation traditionnelle de pg_dump
Un script d'automatisation typique de pg_dump peut ressembler à ceci :
#!/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!"}'
fiCe script doit être maintenu, testé et surveillé. Chaque base de données demande sa propre entrée cron.
Automatisation avec Databasus
Avec Databasus, les mêmes fonctionnalités sont intégrées :
- Planificateur visuel : programmez des backups horaires, quotidiens, hebdomadaires, mensuels ou cron à des heures précises.
- Compression automatique : la compression zstd est appliquée automatiquement.
- Chiffrement intégré : chiffrement AES-256-GCM avec une clé unique par backup.
- Envoi vers le cloud : envoi direct vers S3, Google Drive, Cloudflare R2, Azure et d'autres destinations.
- Politiques de rétention : nettoyage automatique des anciens backups selon vos réglages.
- Notifications : alertes vers Slack, Teams, Telegram ou par e-mail en cas de succès ou d'échec.
Options de stockage
pg_dump écrit sur le système de fichiers local. Envoyer les backups vers un stockage cloud demande des outils et des scripts supplémentaires.
Destinations de stockage de Databasus
Databasus prend en charge plusieurs destinations de stockage sans configuration supplémentaire :
- Stockage local
- Amazon S3 et les services compatibles S3
- Google Drive
- Cloudflare R2
- Azure Blob Storage
- NAS (stockage en réseau)
- Dropbox
Chaque base de données peut avoir sa propre destination de stockage, et vous pouvez en configurer plusieurs pour la redondance.
Voir toutes les options de stockage →
Notifications
Savoir quand une sauvegarde réussit ou échoue est essentiel pour protéger vos données.
Notifications avec pg_dump
pg_dump n'a aucun système de notification. Vous devez :
- Écrire des scripts d'encapsulation qui vérifient les codes de retour
- Vous intégrer à des outils de supervision externes
- Mettre en place des chaînes d'alerte personnalisées
Notifications avec Databasus
Databasus inclut des notifications intégrées vers :
- Slack
- Discord
- Telegram
- Microsoft Teams
- Webhooks (pour des intégrations personnalisées)
Configurez les événements qui déclenchent les notifications : succès des sauvegardes, échec, ou les deux.
Voir tous les canaux de notification →
Fonctions d'équipe
pg_dump est un outil en ligne de commande mono-utilisateur. Databasus ajoute des fonctions de collaboration pour les équipes :
Capacités d'équipe de Databasus
- Espaces de travail : organisez bases de données, notifications et stockages par projet ou par équipe. Les utilisateurs ne voient que les espaces où ils sont invités.
- Contrôle d'accès par rôles : attribuez des permissions lecteur, éditeur ou administrateur pour contrôler ce que chaque membre de l'équipe peut faire.
- Journaux d'audit : tracez toutes les activités et modifications du système. Indispensable pour la conformité et la traçabilité.
- Notifications partagées : les canaux d'équipe reçoivent automatiquement le statut des sauvegardes.
En savoir plus sur la gestion des accès →
Sécurité
La sécurité est le domaine où Databasus apporte le plus par rapport à l'utilisation brute de pg_dump.
Sécurité avec pg_dump
pg_dump crée des fichiers de backup non chiffrés. Les sécuriser demande de :
- Faire passer la sortie par des outils de chiffrement (gpg, openssl)
- Gérer les clés de chiffrement séparément
- Garantir un stockage et une rotation sécurisés des clés
- Configurer correctement les permissions des fichiers
Sécurité avec Databasus
Databasus applique la sécurité à plusieurs niveaux :
- Chiffrement AES-256-GCM : tous les mots de passe, jetons et identifiants sont chiffrés. La clé de chiffrement est stockée séparément de la base de données.
- Chiffrement unique par backup : chaque fichier de backup est chiffré avec une clé unique dérivée de la clé maîtresse, de l'identifiant du backup et d'un sel aléatoire.
- Accès en lecture seule à la base : seules les permissions SELECT sont exigées, ce qui empêche toute corruption des données même en cas de compromission.
En savoir plus sur la sécurité de Databasus →
Processus de restauration
Les deux outils permettent de restaurer des backups, mais avec des flux de travail différents.
Restaurer des backups pg_dump
Restaurer un backup pg_dump demande de :
- Localiser le fichier de backup
- Le déchiffrer s'il est chiffré
- Le décompresser s'il est compressé
- Lancer
pg_restoreoupsqlavec les bons paramètres
Restaurer des backups Databasus
Databasus simplifie la restauration :
- Téléchargement en un clic : téléchargez n'importe quel backup directement depuis l'interface web.
- Déchiffrement automatique : les backups sont déchiffrés automatiquement au téléchargement.
- Commandes de restauration fournies : Databasus affiche la commande
pg_restoreexacte pour chaque backup. - Restauration parallèle : exploitez plusieurs cœurs CPU pour restaurer plus vite les grosses bases.
Installation
Installation de pg_dump
pg_dump est fourni avec PostgreSQL. Si PostgreSQL est installé, vous avez déjà pg_dump.
Installation de Databasus
Databasus propose plusieurs méthodes d'installation :
- Script en une ligne : installe Docker (si nécessaire), met en place Databasus et configure le démarrage automatique.
- Docker run : une seule commande pour démarrer avec PostgreSQL embarqué.
- Docker Compose : pour plus de contrôle sur le déploiement.
Voir le guide d'installation →
Conclusion
pg_dump est l'utilitaire de sauvegarde éprouvé de PostgreSQL, et Databasus est construit directement dessus. Le choix entre utiliser pg_dump directement ou via Databasus dépend de vos besoins.
Utilisez pg_dump directement si :
- Vous avez besoin d'exports ponctuels ou occasionnels
- Écrire et maintenir des scripts shell ne vous pose pas de problème
- Vous avez déjà une infrastructure d'automatisation (Ansible, Terraform, etc.)
- Il vous faut seulement des backups locaux, sans stockage cloud
- Vous êtes un développeur seul avec des besoins simples
Utilisez Databasus si :
- Vous voulez des sauvegardes automatiques et planifiées sans écrire de scripts
- Vous devez stocker les backups dans le cloud (S3, Google Drive, etc.)
- Vous voulez un chiffrement intégré sans gérer les clés à la main
- Vous avez besoin de notifications de succès ou d'échec
- Vous travaillez en équipe et avez besoin de fonctions de collaboration
- Vous préférez une interface visuelle à la ligne de commande
- Vous voulez des politiques de rétention et un nettoyage automatiques
- Vous avez besoin de sauvegardes physiques, de sauvegardes incrémentales ou de Point-in-Time Recovery pour la reprise après sinistre
Databasus s'appuie sur pg_dump pour les sauvegardes logiques et l'étend avec l'automatisation, la sécurité et les fonctions d'équipe. Au-delà, Databasus prend aussi en charge les sauvegardes physiques, les sauvegardes incrémentales avec archivage des WAL et le Point-in-Time Recovery, des capacités que pg_dump ne peut tout simplement pas offrir.