OutBackup sauvegarde vos données trois fois OutBackup est un service éprouvé depuis 1997 Restez sereins en protégeant vos données OutBackup est un service simple OutBackup est un service sécurisé

Sauvegarder un serveur PostgreSQL sous Windows

 

Documentation de PostgreSQL

On peut tout d'abord lire sur la documentation officielle de PostgreSQL que plusieurs possibilités s'offrent à nous pour sauvegarder une base de données. Pour ce faire, une excellente méthode semble être l'utilitaire pg_dump ou pg_dumpall qui extrait les données de la base pour les enregistrer dans un fichier, appelé fichier de dump. Voici un exemple de commande en situation.

SET PGPASSWORD="mot-de-passe-de-la-base"
C:\PostgreSQL\9.3\bin\pg_dumpall.exe -U utilisateur-de-la-base >dump.sql

Cependant dans notre cas de figure, nous ne connaissons ni l'utilisateur du SGBD ni son mot de passe associé. Nous allons donc utiliser la sauvegarde au niveau du système de fichiers. Le principal point à connaitre est que cette sauvegarde se fait à froid, c'est à dire en éteignant le SGBD. Nous allons procéder à la sauvegarde en éteignant le serveur PostgreSQL un minimum de temps.

Sauvegarde du système de fichiers

Nous utilisons un script bat, exécutable par le planificateur des tâches, pour copier les fichiers de données à froid dans un répertorie temporaire. Ensuite ce répertoire temporaire peut être sauvegardé selon la méthode voulue (copie sur disque, copie sur NAS, sauvegarde OutBackup, ...).

@echo on
mkdir "C:\_SAUV\"
del /S /F /Q "C:\_SAUV\data"
rd /S /Q "C:\_SAUV\data"
mkdir "C:\_SAUV\data"
sc stop postgresql-x64-9.3
xcopy /C /D /E /H /I /R /Y "C:\PostgreSQL\9.3\data" "C:\_SAUV\data\"
sc start postgresql-x64-9.3 

Le fonctionnement de ce script est très simple. Il copie le répertoire data de PostgreSQL dans un autre répertoire C:\_SAUV\data. Avant de procéder à la copie, le répertoire C:\_SAUV\data est entièrement purgé. Dans cet exemple le programme de copie est xcopy. En pratique, on utilise le plus souvent un logiciel de copie différentielle qui tire partie des blocs de fichiers communs entre la cible et la source pour accélérer le traitement.

On remarque que postgresql-x64-9.3 est le nom du service tel que précisé dans l'utilitaire Windows services.msc aussi appelé "Services, démarre, arrête et configure les services Windows".

Il est important d'utiliser la commande sc stop postgresql-x64-9.3 (le service controller windows) plutôt que net stop postgresql-x64-9.3. Le contrôleur de service permet un paramétrage plus fin, mais son réel avantage est de s'exécuter correctement lorsqu'il est intégré à un script bat lancé automatiquement (par le planificateur des tâches ou par une pré/post commande). Ce n'est pas le cas de la commande net stop et net start.

 

Conclusion

Cette manière de procéder n'éteint le serveur de base de données qu'un minimum de temps. Cela se compte en secondes voire minutes selon la taille des bases de données et la rapidité du disque dur de la machine. Nous disposons ensuite de tout notre temps pour sauvegarder les bases de données à l'endroit voulu.

Qui sommes nous ?

alt=

Le service OutBackup a été créé en 2003 par la société PCStreet. Issue du monde Unix, elle travaille depuis 1997 avec des logiciels libres, avec une forte compétence d'architecture réseau.

Nous contacter

PCStreet SASService OutBackup

Tél. : 01 39 04 20 20

Appels anonymes basculés sur répondeur.

Formulaire de contact

Twitter

Témoignages client

"Votre réaction nous a permis d'éviter des mois de travail fastidieux à reconstituer nos données."

Source

Vous êtes ici : Accueil Blog Sauvegarder un serveur PostgreSQL sous Windows