Je suis actuellement à l'aide de pg_dump canalisée vers gzip canalisée vers split. Mais le problème, c'est que tous les fichiers de sortie sont toujours changé. Si la somme de contrôle-fonction de sauvegarde toujours des copies de toutes les données.
Existe-il d'autres bonnes façons d'effectuer une sauvegarde incrémentielle d'un posgres base de données, une base de données complète peut être restauré à partir de la sauvegarde des données.
Par exemple, si pg_dump peut faire de tout, absolument ordonnée, de sorte que toutes les modifications sont appliquées qu'à la fin de la décharge, ou similaire.
Réponses
Trop de publicités?Mise à jour: découvrez Barman pour un moyen plus facile pour configurer l'archivage des WAL pour la sauvegarde.
Vous pouvez utiliser PostgreSQL continue de WAL archivage méthode. D'abord, vous devez définir le wal_level=archive
, puis de faire un système de fichiers d'une sauvegarde de niveau (entre la délivrance pg_start_backup()
et pg_stop_backup()
des commandes) et ensuite il suffit de copier les nouveaux fichiers WAL par la configuration de l' archive_command
option.
Avantages:
- Incrémentielle, le WAL, les archives comprennent tout le nécessaire pour restaurer l'état actuel de la base de données
- Presque pas de frais généraux, de la copie de fichiers WAL est pas cher
- Vous pouvez restaurer la base de données à tout point dans le temps (cette fonction est appelée PITR, ou point-à-temps de récupération)
Inconvénients:
- Plus compliqué à mettre en place que pg_dump
- La sauvegarde complète sera beaucoup plus grand qu'un pg_dump parce que toutes les structures de tables et les index sont inclus
- Ne fonctionne pas bien pour l'écriture de lourdes bases de données, depuis la reprise prendra du temps.
Il y a certains outils tels que pitrtools et omnipitr qui peuvent simplifier la configuration et la restauration de ces configurations. Mais je n'ai pas utilisé moi-même.