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 Re : Général » Perte du répertoire pg_multixact » 18/02/2013 12:05:02

Merci pour le conseil.

Pour moi les fichiers s'appellent 0001 et mesurent quelques centaines de Ko. J'ai donc fait un dd d'un méga et cela a fonctionné.
Il manque la moitié des tables, mais j'ai récupéré pas mal de données.

Encore merci.
Antony

#2 Général » Perte du répertoire pg_multixact » 15/02/2013 20:29:16

antonyj
Réponses : 2

Bonjour à tous,

J'ai un serveur PostgreSQL 8.4 sous Linux FC12 sur disques SAS en RAID 1 (partitions ext3).

Le système de fichiers a été corrompu, un fsck l'a remis en état cohérent mais beaucoup de fichiers ont été supprimés.
Après avoir restauré les fichiers système, la machine arrive à démarrer mais Postgres ne démarre pas avec cette erreur :

postgres@lpmserveur /var/lib/pgsql/data/ $ postgres --single -D /var/lib/pgsql/data lpmdb
FATAL:  n'a pas pu accéder au statut de la transaction 110466
DÉTAIL:  N'a pas pu ouvrir le fichier « pg_multixact/offsets/0001 » : Aucun fichier ou dossier de ce type

Après vérification, il s'avère que la quasi-totalité du répertoire pg_multixact a été perdu (la totalité de pg_multixact/offsets).
J'ai fait une copie de la base corrompue et ai essayé diverses choses (pg_resetxlog, zero_damaged_pages , ignore_system_indexes) sans succès.

Seule une partie des données est importante (moins de 1%, le contenu de 10 tables sur les 50). La consistance des données est sans importance, tant que je peux les exporter dans des fichiers texte.

Ai-je une chance de récupérer une partie des données ? Comment arriver à faire démarrer le serveur ?
(Je n'ai pas de sauvegarde de cette base à tord).

Merci pour vos conseils.

Pied de page des forums

Propulsé par FluxBB