PostgreSQL
La base de données la plus sophistiquée au monde.

Ouverture de session

Navigation

Contactez-nous

Administration du site :
"equipe chez postgresqlfr point org"

Contact presse :
"fr chez postgresql point org"

Contact association :
"bureau chez postgresqlfr point org"

Questions PostgreSQL :
 IRC :
  serveur irc.freenode.net
  canal #postgresqlfr

Recherche

Accéder aux archives

« Octobre 2008  
Lun Mar Mer Jeu Ven Sam Dim
  2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31  

Syndication

Flux XML

Sondage

Quelle est la version de PostgreSQL la plus répandue sur vos serveurs ?
8.3
10%
8.2
42%
8.1
40%
8.0
2%
7.4
6%
7.3 ou antérieure
0%
Nombre de votes: 48

Problème de doublons malgré clés primaires

Technique - général | Problème de doublons malgré clés primaires

Par babaroum le 03/12/2007 - 15:53

Bonjour, depuis ce matin je constate des doublons dans une table de ma base PostGreSQL 8.1.3. Malgré la présence de trois clefs primaires, plusieurs enregistrements ont été créés en doublons avec les mêmes valeurs pour les trois clefs dans chaque enregistrement.

Si quelqu'un a une idée sur la cause de ce désagrément, je l'en remercie d'avance.

Autre phénomène accompagnant le premier avec une simple requete :

select id from matable where id = 32

renvoie :

32
67
32

???

Options d'affichage des commentaires

Sélectionnez la méthode d'affichage des commentaires que vous préférez, puis cliquez sur "Sauvegarder les paramètres" pour activer vos changements.

Bonjour Je ne comprend pas

Christophe Chauvet/ = 3 Décembre, 2007 - 17:41

Bonjour

Je ne comprend pas trop, vous parlez de 3 clés primaires sur une table, je ne vois pas comment cela est possible ?

Pourriez vous nous donner la structure de votre table qui pose problème, ainsi que les contraintes.

Cordialement.

Christophe Chauvet
KrysKool.org
Membre de PostgreSQLfr


Probleme de doublons

babaroum/ = 3 Décembre, 2007 - 18:08

Merci de votre réponse. Je voulais dire une clef primaire sur trois champs de ma table comme suit :

CREATE TABLE babaroum.test
(
cle1 int2 NOT NULL,
cle2 int2 NOT NULL,
cle3 int2 NOT NULL,
label varchar(50) NOT NULL,
CONSTRAINT pk1 PRIMARY KEY (cle1, cle2, cle3)
)
WITHOUT OIDS;
ALTER TABLE babaroum.test OWNER TO babaroum;

En exemple de données j'ai ce qui suit (données séparées par des points virgules) :

1;1;2;test
1;1;2;test2

Je vous remercie de vos prochaines reponses.


Corruption d'index ?

SAS/ = 4 Décembre, 2007 - 09:37

Bonjour,

il peut s'agir d'une corruption d'index.

Cela peut-être dû à un bug de l'indexation, la version que vous utilisez est déjà ancienne et a connu de nombreuses mises-à-jour (pour mémoire, nous en sommes à la version 8.1.10).

Il peut aussi s'agir d'un problème matériel.

Quoiqu'il en soit, vous allez devoir corriger le problème manuellement.

Commencer par lancer un reindex sur la table. Si cela ne suffit pas, il faudra recréer une table identique à partir des lignes uniques de cette table.

Librement,
Stéphane Schildknecht
dalibo
PostgreSQLFr


Causes de ce désagrément

babaroum/ = 4 Décembre, 2007 - 11:52

Merci pour votre réponse.

En effet le REINDEX avait réglé le deuxième problème mais pas le premier.

Je cherche toujours les causes de ce dysfonctionnement qui peut être dû à la modification du compte qui lance le service PostGres puisqu'il est intervenu après cette modification.

Qu'en pensez-vous ?


L'index existe-t-il toujours ?

SAS/ = 4 Décembre, 2007 - 12:00

L'index gérant la clé primaire existe-t-il toujours ?

Pouvez-vous essayez d'insérer une donnée déjà existante ? Que se passe-t-il ?

Librement,
Stéphane Schildknecht
dalibo
PostgreSQLFr


Aucun index n'a été créé sur cette table

babaroum/ = 4 Décembre, 2007 - 12:16

Aucun index n'a été créé sur cette table.

Lorsque j'insère une ligne existante, un message d'erreur apparaît :
ERROR : duplicate key violates unique constraint


Index et Violation

SAS/ = 4 Décembre, 2007 - 16:19

La création d'une clé primaire crée automatiquement un index.

Concernant les entrées dupliquées, je crains qu'il ne vous faille procéder à une réparation manuelle.

Librement,
Stéphane Schildknecht
dalibo
PostgreSQLFr


Problème réglé

babaroum/ = 6 Décembre, 2007 - 11:01

Merci pour vos contributions.

Le problème est désormais réglé mais son origine reste floue.

A bientôt.


© PostgreSQLFr, tous droits réservés.
Site déclaré à la CNIL sous le numéro 1074678, conformément à la Loi en vigueur.