Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 01/07/2015 07:47:00
- Stebli
- Membre
Postgres recover d'un plantage
Bonjour,
J'ai un problème pour remettre une base d'aplomb après un arrêt forcé.
Une base a été stoppée en mode immediate et je soupçonne qu'il y avait encore des transactions en cours dessus. Au redémarrage la base est en "Fatal : database system is starting up", la base est en recovering sur le dernier xlog mais rien ne semble se passer, c'est comme si c'était bloqué (rien ne se passe au niveau file system ou strace).
Du coup j'ai effectué un pg_resetxlog et j'ai pu redémarrer la base. Cependant lorsque j'essaye de m'y connecter j'ai une erreur de type "cache lookup failed for relation XXXX", par conséquent je ne peux pas dumper les données.
Si je me connecte en mode single user mode et que je lance un REINDEX SYSTEM ma_base_cassée, je peux bien m'y connecter par la suite mais je vois qu'il me manque des tables et j'ai des erreurs comme quoi postgres n'arrive pas à locker ces tables manquantes quand j'essaye de faire un dump. Même résultat avec le paramètre ignore_system_indexes=on
Je suis en postgres 9.1.2 sur redhat 6.1
Je suis dans l'impasse la plus totale.
Hors ligne
#2 01/07/2015 08:55:27
- gleu
- Administrateur
Re : Postgres recover d'un plantage
Ne jamais utiliser pg_resetxlog. Jamais. Jamais. Jamais. Vous venez de corrompre votre système. Avez-vous une sauvegarde ? parce qu'il ne vous reste plus que ça à faire.
Guillaume.
Hors ligne
#3 01/07/2015 08:57:33
- Stebli
- Membre
Re : Postgres recover d'un plantage
J'ai effectivement une sauvegarde de PGDATA mais si je restaure et que je relance j'ai toujours le crash recovery qui bloque sur le dernier fichier wal.
Dernière modification par Stebli (01/07/2015 08:57:58)
Hors ligne
#4 01/07/2015 16:13:39
- gleu
- Administrateur
Re : Postgres recover d'un plantage
C'est une sauvegarde qui date d'avant le pg_restore ? et quel est le message d'erreur ?
Guillaume.
Hors ligne
#5 01/07/2015 16:19:12
- Stebli
- Membre
Re : Postgres recover d'un plantage
Au redémarrage la base est en "Fatal : database system is starting up", la base est en recovering sur le dernier xlog mais rien ne semble se passer, c'est comme si c'était bloqué (rien ne se passe au niveau file system ou strace).
Hors ligne
#6 01/07/2015 16:27:59
- gleu
- Administrateur
Re : Postgres recover d'un plantage
Quel est le log complet depuis le redémarrage ?
Guillaume.
Hors ligne
#7 02/07/2015 07:59:36
- Stebli
- Membre
Re : Postgres recover d'un plantage
LOG: database system was interrupted; last known up at 2015-06-29 00:14:07 CEST
LOG: database system was not properly shut down; automatic recovery in progress
LOG: consistent recovery state reached at A9/D6D01F98
LOG: redo starts at A9/D6D01F98
LOG: record with zero length at A9/D6D29160
LOG: redo done at A9/D6D29120
LOG: last completed transaction was at log time 2015-06-29 00:44:42.586+02
Et là ça reste bloqué.
J'ai ce processus :
postgres: startup process recovering 00000001000000A9000000D6
mais rien ne se passe.
Hors ligne
#8 02/07/2015 08:45:04
- gleu
- Administrateur
Re : Postgres recover d'un plantage
Apparemment, il a fini le rejeu des journaux suite au crash. Quels sont les autres processus en cours d'exécution au niveau de postgres ?
Guillaume.
Hors ligne
#9 02/07/2015 09:24:46
- Stebli
- Membre
Re : Postgres recover d'un plantage
Il y a le processus père postgres et postgres: logger process
en plus du postgres: startup process recovering 00000001000000A9000000D6
Hors ligne
#10 02/07/2015 16:53:58
- gleu
- Administrateur
Re : Postgres recover d'un plantage
On pourrait avoir la sortie de la commande "ps -ef | grep postgres" ?
Guillaume.
Hors ligne
#11 03/07/2015 10:23:56
- Stebli
- Membre
Re : Postgres recover d'un plantage
On a résolu le problème en restaurant une sauvegarde antérieure. Merci
Hors ligne
Pages : 1