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 13/07/2009 12:17:48

Haseo
Membre

Ensemble de séquence auto incrémentées

Bonjour,

Voici le problème que j'ai constaté.
J'ai une application qui génère un ensemble de fichiers, ces fichiers contiennent une valeur tirée d'une séquence qui s'incrémente de 1 à chaque fois.
Entre les les 19 et 26 juin, le problème suivant est apparut, toutes les applications ont vu leurs séquences respectives incrémentées de 33 oO .

Au début, je pensais à une erreur humaine mais avouez que c'est étrange d'avoir autant de séquences qui se sont incrémentées du même nombre.
Les séquences qui ne sont pas employées n'ont pas eu ce problème.

Auriez vous une explication ou une idée qui pourrait m'éclairer sur ce qui s'est passé ?

Merci d'avance pour vos réponses.

Hors ligne

#2 13/07/2009 13:08:36

Marc Cousin
Membre

Re : Ensemble de séquence auto incrémentées

- Les séquences sont hors des transactions. Si une transaction prend une valeur à une séquence et annule, la valeur n'est quand même plus utilisable. C'est leur principe de fonctionnement
- Les sequences ont un 'cache' qui peut être différent de 1 (et donc chaque session prend un paquet de valeurs de séquences d'un coup), ce qui peut déclencher une forte augmentation du nombre si une session prend une valeur et se déconnecte tout de suite après
De toutes façons, ça n'a aucune importance, et c'est le fonctionnement normal d'une séquence d'avoir des trous. Il ne faut pas les utiliser pour des numérotations sans trou


Marc.

Hors ligne

#3 13/07/2009 14:22:27

Haseo
Membre

Re : Ensemble de séquence auto incrémentées

Merci pour ces quelques précisions.

Entre ces 2 dates, le serveur a été arrêté pour une maintenance (upgrade hardware).

Est il possible que ce problème vienne de là et y a t il une commande pour éviter ce genre de problème avant l'arrêt du serveur ?

edit : toutes les séquences n'ont pas de cache (valeur 1), ce comportement reste assez étrange.

Dernière modification par Haseo (13/07/2009 15:16:39)

Hors ligne

#4 13/07/2009 16:21:55

gleu
Administrateur

Re : Ensemble de séquence auto incrémentées

Est il possible que ce problème vienne de là et y a t il une commande pour éviter ce genre de problème avant l'arrêt du serveur ?

Non et non.


Guillaume.

Hors ligne

#5 13/07/2009 16:54:30

Marc Cousin
Membre

Re : Ensemble de séquence auto incrémentées

En fait, il faut surtout admettre qu'il n'y a pas de problème : c'est de partir de l'hypothèse qu'une séquence n'aura pas de trou qui est le problème.


Marc.

Hors ligne

#6 16/07/2009 16:07:44

Haseo
Membre

Re : Ensemble de séquence auto incrémentées

Peut-être, mais sachant que les transactions se sont bien passées et que rien ne justifie ce trou et que cet écart est redondant sur différentes séquences qui n'appartiennent pas forcément au même schéma et qu'en plus elles ont eu lieu le même jour, il y doit bien y avoir une explication logique.

Hors ligne

Pied de page des forums