69 votes

La meilleure méthode pour postgres sauvegarde incrémentielle

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.

69voto

intgr Points 9041

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.

1voto

Scott Marlowe Points 2231

Une autre méthode consiste à sauvegarder au format texte brut et l'utilisation rdiff pour créer des différentiels de diff.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X