jeudi 6 septembre 2012

PostgreSql - Backup et restaure d'une base de donnée

Voici quelques références relatifs au opérations de backup et restore d'une base de donnée PostgreSql.

Impossible de restaurer un backup créé avec with pgAdmin III

J'ai créé un fichier de backup en utilisant pgAdmin III, mais quand j'ai voulu le restaurer (restore), le bouton OK restait grisé.
pgAdmin III utilise l'outil PostgreSQL nommé pg_restore, ce dernier supporte seulement les formats compressés (COMRESS) et les archives (TAR). Le backup fait avec pg_dump (ou l'interface pgAdmin III doit donc utiliser ces options. Un fichier de backup compressé est alors accepté sans problème par pgAdmin (et le bouton est dégrisé).

Note: le format PLAIN ne peut pas être interprété par pgAdmin III et pg_restore (il peut être édité manuellement et exécuté avec l'outil SQL de pgAdmin III), c'est la raison pour laquelle il n'est pas accepté comme un fichier valide.

Je recommande l'utilisation du format COMPRESS pour les backups journaliers. Le format PLAIN est réservé à aux modifications manuelle avant exécution du SCRIPT. Le format PLAIN à d'ailleurs quelques restrictions (pas les blobs) qui rend se format moins utile pour les tâches de backup standard.

Création du backup
Notez l'encodage en UTF8 (plus répandu).

J'ai activé les OIDs pour avoir les clés numérotés
 Ce backup correspond à la commande sql suivante:

C:/Program Files/PostgreSQL/9.1/bin\pg_dump.exe --host localhost --port 5432 --username "postgres" --role "postgres" --no-password  --format tar --blobs --encoding UTF8 --oids --verbose --file "c:\temp\stockdev.backup" "stockdev"

Restaurer le backup
Le plus simplement du monde, je me suis rendu sur l'autre serveur. J'ai effacé et recréé une DB vide.
Ensuite, j'ai utilisé l'outil de restauration de pgAdminIII avec mon fichier de backup (sans changer aucune option).
Résultat: Nickel !

Ressources

Aucun commentaire: