Skip site navigation (1) Skip section navigation (2)

Re: Problème lecture/écriture

From: Cédric Villemain <cedric(at)2ndquadrant(dot)com>
To: pgsql-fr-generale(at)postgresql(dot)org
Cc: Tovo Rabemanantsoa <tovo(dot)rabemanantsoa(at)bordeaux(dot)inra(dot)fr>
Subject: Re: Problème lecture/écriture
Date: 2012-05-22 14:42:37
Message-ID: 201205221642.43581.cedric@2ndquadrant.com (view raw or flat)
Thread:
Lists: pgsql-fr-generale
Le mardi 22 mai 2012 14:54:06, Tovo Rabemanantsoa a écrit :
> Bonjour,
> Voici un problème sur lequel je bute si quelqu'un a une idée :
> Soit une base postgres, sur une des tables, je peux lire les 100
> premiers et derniers enregistrements mais je ne peux pas lire ce qu'il y
> a au milieu.
> Quand j'essaie avec PgAdmin, il me sort :
> 
> /home/postgres/data/base/17320
> ERROR:  could not read block 91725 in file "base/17320/1634526": read
> only 4096 of 8192 bytes
> 
> 
> ********** Error **********
> 
> ERROR: could not read block 91725 in file "base/17320/1634526": read
> only 4096 of 8192 bytes
> SQL state: XX001
> 
> Je vais donc voir le fichier incriminé et dans le répertoire j'ai ça :
> -rw------- 1 postgres postgres  1.0G May 22 11:10 1634526
> -rw------- 1 postgres postgres  259M May 21 19:31 1634526.1
> -rw------- 1 postgres postgres  344K May 21 19:33 1634526_fsm
> -rw------- 1 postgres postgres   24K May 21 19:32 1634526_vm
> 
> Après avoir arrêté Postgres, j'essaie de copier le fichier 1634526 mais
> au bout d'environ 700Mo, il me dit :
> [root(at)mdeeph58 17320]# cp 1634526 /tmp/1634526.old
> cp: reading ‘1634526’: Input/output error
> cp: failed to extend ‘/tmp/1634526.old’: Input/output error
> 
> Pour savoir la nature du fichier j'ai fait un file :
> 
> [root(at)mdeeph58 17320]# file 1634526
> 1634526: X11 SNF font data, LSB first
> 
> J'ai fait un fsck sur le système de fichier, tout semble bien et j'ai
> assez d'espace disque partout.
> 
> La base est sur un portable avec un disque SSD sous Arch linux.
> 
> Voilà, j'ai plus aucune piste de solution.

il existe des méthodes bas niveaux pour résoudre ces soucis en l'absence de 
backup.

En fonction de la criticité aussi, bien sur.

Globalement: 
 * 'dd' (et outils similaire) pour récupérer au mieux le disque 
 * reinit des blocks postgres defectueux pour qu'il veuille bien y lire quand 
meme. (dd par exemple)
 * vérification des contenus des WAL pour y récupérer les éléments qui 
pourraient se trouver dans les blocs défectueux.


-- 
Cédric Villemain +33 (0)6 20 30 22 52
http://2ndQuadrant.fr/
PostgreSQL: Support 24x7 - Développement, Expertise et Formation

In response to

Responses

pgsql-fr-generale by date

Next:From: Tovo RabemanantsoaDate: 2012-05-22 14:46:56
Subject: Re: Problème lecture/écriture
Previous:From: Daniel VeriteDate: 2012-05-22 14:15:30
Subject: Re: Problème lecture/ écriture

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group