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 24/11/2011 15:50:32

mickML
Membre

DETAIL: La table contient des valeurs dupliquées.

Bonjour,

J'ai l'erreur suivante lorsque je fais une opération REINDEX sur ma table authors

ERREUR:  n'a pas pu créer l'index unique « authors_pkey »
DETAIL:  La table contient des valeurs dupliquées.

authors_pkey correspond à la contrainte sur la clef primaire qui est de type serial.

J'ai effectué un
SELECT max(id) FROM authors

et regardé dans la table de séquence, je constate que la valeur retournée par ma requête est inférieure à ma valeur dans la séquence.

De plus, avec une simple requête :
SELECT id FROM authors ORDER by id

J'ai l'erreur suivante :
ERREUR:  n'a pas pu ouvrir le segment 1 de la relation 1663/509911/509958 (bloc cible 4129190) : Aucun fichier ou répertoire de ce type

Par contre cette requête fonctionne parfaitement
SELECT id FROM authors

Quelqu'un a une idée où est le problème svp ?

Merci d'avance

Hors ligne

#2 24/11/2011 17:08:18

gleu
Administrateur

Re : DETAIL: La table contient des valeurs dupliquées.

L'index qui permet de forcer la clé primaire semble corrompu. Cela arrive le plus fréquemment suite à une erreur matérielle. Donc il va falloir vérifier le disque sur lequel se trouve cette table.

Mais dans un premier temps, je vous conseille de supprimer la contrainte de clé primaire, de l'ajouter de nouveau et de sauvegarder toutes vos bases sur ce serveur. Si vous avez une corruption matérielle au niveau de l'index, rien ne dit qu'il n'y en a pas une autre ailleurs. Une fois que vous avez fait ça, il faut vérifier les disques, les changer si nécessaire. SI ce n'est pas un problème matériel, vérifiez votre version de PostgreSQL. Si une version mineure supérieure existe, la mettre en place.

Bon courage.


Guillaume.

Hors ligne

#3 24/11/2011 17:18:45

mickML
Membre

Re : DETAIL: La table contient des valeurs dupliquées.

Merci beaucoup !

Hors ligne

#4 25/11/2011 11:38:06

mickML
Membre

Re : DETAIL: La table contient des valeurs dupliquées.

Super la technique a fonctionné ! J'ai enlevé la clef primaire de la table, identifié le doublon sur la colonne id, supprimé le doublon et enfin remis la contrainte primary key sur id.
Mais ce que je ne comprends pas c'est comment cela a pu arriver ?
En fait, j'ai un programme Java qui lit un fichier CSV et insère les données dans la table authors.

Hors ligne

#5 25/11/2011 11:49:24

gleu
Administrateur

Re : DETAIL: La table contient des valeurs dupliquées.

Problème matériel, pratiquement à coup sûr. Avez-vous vérifié votre disque ?


Guillaume.

Hors ligne

#6 25/11/2011 11:58:04

mickML
Membre

Re : DETAIL: La table contient des valeurs dupliquées.

Non, pas encore car c'est un seveur dédié chez OVH. Merci je ferai ça. Ce qui me parait bizarre, c'est que le manager d'OVH indique aucun problème.
Merci beaucoup !

Hors ligne

Pied de page des forums