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 27/04/2011 10:58:30

droidaroue
Membre

Erreur sur instance : could not read block 0 of relation 1663/16385/85

Bonjour,

Suite a un blocage d'une instance ( plus de place dans le filesystem des xlog, ) j'ai fait pg_resexlog() -f $PG_DATA et j'ai le message suivant : could not read block 0 of relation 1663/16385/85637: read only 0 of 8192 bytes.

Il y a t il un moyen de réparer ou faut il reconstruire mon instance ( elle est vide ) ?
Pour reconstruire il suffit de faire un raz de PG_DATA et de refaire intidb je suppose ?

Merci de votre aide.

Hors ligne

#2 27/04/2011 14:30:34

gleu
Administrateur

Re : Erreur sur instance : could not read block 0 of relation 1663/16385/85

Il ne faut utiliser pg_resetxlog qu'en dernier recours. Comme vous avez supprimé les journaux de transactions avec pg_resetxlog, PostgreSQL ne peut plus reconstruire les fichiers de données (1663/16385/85637 en fait partie). Bref, il ne vous reste plus qu'à reconstruire votre instance. Donc en effet, supprimez le contenu de $PGDATA puis relancez initdb et enfin rechargez vos sauvegardes.

Si ça vous arrive de nouveau (le manque d'espace disque dans le système de fichiers des journaux de transactions), commencez par trouver un autre moyen d'y récupérer de l'espace (déplacement des journaux avec création de liens symboliques, déplacement du répertoire complet, etc.).


Guillaume.

Hors ligne

Pied de page des forums