PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 16/12/2011 20:45:02

afrofip
Membre

Divers problèmes concernant la restauration et la sauvegarde

Bonjour
J'aimerais exposer divers problèmes que j'ai rencontré concernant la restauration et la sauvegarde des bases de données sur PostgreSQL.

PROBLEME 1:

     J'ai sauvegardé une base de donnée au format compress (option -F c) à une date donnée. Quelques jours plus tard, par erreur, plusieurs données sont supprimées dans la base. J'essaye alors de faire une restauration de la base à partir du fichier crée lors de la dernière sauvegarde.

1°)      lorsque j'execute ce code:

pg_restore -h localhost -p 5432 -U postgres -d myBase D:\sauvegarde.backup

je reçois plusieurs message d'erreur m'indique que certaines données existent déjà dans la base. Normal, puisque la base contient encore des données qui étaient présentent au moment de la sauvegarde. Par contre, je le rends compte qu'aucune donnée n'est ajoutée! La base n'est pas restaurée.

2°) lorsque j'exécute ce code: 

pg_restore -h localhost -p 5432 -U postgres -c -d myBase D:\sauvegarde.backup

, c'est à dire le premier code avec l'option -c (clean) en plus. La requête s'execute, je n'ai aucun message d'erreur et la base de donnée est restaurée.

     Est-ce qu'on peut conclure que pour restaurer une base de données qui contient encore des données présente dans le fichier de sauvegarde, il faut d'abord la nettoyer? N'y aurait-il pas un moyen de faire en sorte que la restauration ignore les données déjà existe et ne "complète" que celles qui manquent?



PROBLEME 2:

     Toujours sur le même ordinateur et le même serveur.A partir du client pdAdmin III, j'ai sauvegardé ma base de donnée au format PLAIN. Mais lorsque j'essaye de restaurer à partir du fichier sauvegarder, le bouton "OK" n'est pas actif. Par contre, lorsque j'essaye de restaurer à partir un fichier au format COMPRESS, le bouton s'active! Même si lorsque je lance la restauration, je rencontre le problème 1 tant que j'ai n'ai pas coché l'option "nettoyer avant la restauration"

Peut-on conclure que pg_admin n'admet des restaurations qu'au format COMPRESS?



PROBLEME 3:

     Sur un tout autre ordinateur, j'ai essayé de faire un pg_dumpall pour sauvegarder tout le serveur. J'utilise ce code:

pg_dumpall -h localhost -p 5432 -U postgres -W -d myBase D:\sauvegarde.backup

Lorsque je l'execute, On me demande le mot de passe. Je rentre celui de postgres (super-utilisateur), puisque c'est lui que j'ai choisi dans l'otion -U. Mais après un certain temps, je reçois le message d'erreur selon lequel l'accès à la base de donnée template 1 a été refusé. Pourtant, lorsque j'exécute le même code en distant sur un autre poste (je remplace juste "localhost" par l'adresse ip de l'ordinateur où ça a foiré), le pg_dumpall se déroule à merveille!

Quelqu'un aurait-il une piste d'explication?

Hors ligne

#2 16/12/2011 20:53:17

afrofip
Membre

Re : Divers problèmes concernant la restauration et la sauvegarde

Bon sang je me suis complètement gourer de rubrique! @gleu, d'avance je m'excuse. Merci de déplacement ce post ou il faut!

Hors ligne

#3 16/12/2011 21:13:18

rjuju
Administrateur

Re : Divers problèmes concernant la restauration et la sauvegarde

Bonjour.

Problème 1 : Par défaut, la restauration de chaque objet se fait dans une transaction, ce qui fait que pour chaque table, soit elle est entièrement restaurée (avec doublon éventuel) soit pas du tout, s'il y a des erreurs dans une clé primaire par exemple. Comme le disait gleu récemment, le mieux est d'utiliser l'option -1 pour faire toute la restauration dans une seule transaction et s'assurer plus de cohérence. Et donc, pour restaurer une table il faut  bien utiliser l'option -c pour supprimer les objets avant, à moins de repartir d'une base de donnée vide.

Problème 2 : Je pense que pgAdmin n'utilise que pg_restore pour restaurer les donnée, et cet outil ne prend pas en charge le format plain. Un format plain n'est qu'un gros script sql, et il faut juste l'envoyer à l'interpréteur psql pour restaurer.

Problème 3 : Peut-être un problème dans le pg_hba.conf mais ça serait étonnant.

Hors ligne

#4 18/12/2011 17:58:18

gleu
Administrateur

Re : Divers problèmes concernant la restauration et la sauvegarde

Déplacement de rubrique faite.

Concernant pgAdmin, je confirme qu'il ne sait pas restaurer une sauvegarde texte vu qu'il n'embarque que pg_restore (qui ne sait pas restaurer une sauvegarde texte).


Guillaume.

Hors ligne

Pied de page des forums