-
pb de recovery.conf
Bonjour,
Suite à une réinstallation de base Postgre, les données de l’ancienne base ont été écrasées. Cependant nous avons pu récupérer des fichiers Wal datés d’avant la réinstallation dans un répertoire _data (sous le répertoire des données du groupe, au même niveau que le répertoire data).
Précisions :
- nous avons 4 fichiers Wal dont les premiers caractères sont « \Ð ».
- postgresql est installé dans un environnement windows
Question 1 : pensez-vous que _data provient de l’ancienne base ?
Nous avons suivi la procédure de récupération par recovery.conf avec la commande restore_command. Les fichiers log nous indiquent l’erreur suivante :
«
2007-08-24 16:32:55 LOG: database system was shut down at 2007-08-24 16:32:01 Paris, Madrid
2007-08-24 16:32:55 LOG: starting archive recovery
2007-08-24 16:32:55 LOG: restore_command = "copy C:\archives\0000000100000000000000BC "%p""
2007-08-24 16:32:56 LOG: restored log file "00000001.history" from archive
2007-08-24 16:32:56 PANIC: syntax error in history file: \Ð
2007-08-24 16:32:56 HINT: Expected a numeric timeline ID.
»
Question 2 : connaissez-vous cette erreur ?
Question 3 : la commande restore_command est elle valide ?
(restore_command = "copy C:\archives\0000000100000000000000BC "%p"")
Question 4 : Savez-vous si un fichier Wal est associé à une base précise ?
Sinon, comment la procédure de recovery sait à quelle base effectuer la restauration ?
Merci pour votre aide.
Cordialement.
CG
-
Réponse 1 :
Peu importe, les fichiers WAL ne sont utilisables que dans deux cas précis : avec les données que les fichiers WAL ont générés, avec une sauvegarde de base dans le cas de l'utilisation de PITR.
Dis autrement, les fichiers WAL sont inutilisables dans votre cas.
Réponse 2 :
PostgreSQL utilise un identifiant de temps lui permettant de savoir où il en est dans l'intégration des données des fichiers WAL vers les fichiers de données. Les fichiers de données ne doivent plus correspondre au timeline des fichiers WAL.
Réponse 3 :
Oui et non. Cette commande de restauration ne copiera que ce fichier WAL, PostgreSQL essaiera de le restaurer puis de démarrer la base. Cependant, son utilisation est complètement illusoire si vous n'avez pas fait toutes les étapes précisées pour l'utilisation de PITR dans la documentation.
Réponse 4 :
Les fichiers WAL sont commun à tout le cluster et ne peuvent servir qu'à restaurer un cluster complet. Si vous voulez ne restaurer qu'une seule base, il faut se tourner vers les outils historiques, ie pg_dump.
Pour résumé votre situation, si vous avez écrasé les fichiers de données, ne comptez pas sur les WAL pour restaurer vos bases. Utilisez l'outil de sauvegarde que vous avez mis en place.