Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 14/09/2012 09:32:06
- Anthony
- Membre
problème de sequence
Bonjour
je travaille sur deux machines distinctes (Win7 / Srv2008) ayant la même version de postgresql (9.1).
Sur le srv2008 un select currval me retourne une erreur alors sur le Win7, elle répond correctement.
La requête :
select currval(pg_get_serial_sequence('fid.account', 'account_id'))
ERROR: currval of sequence "account_account_id_seq" is not yet defined in this session
********** Erreur **********
ERROR: currval of sequence "account_account_id_seq" is not yet defined in this session
État SQL :55000
Pourtant je pense que ma séquence est bonne :
select * from information_schema.sequences where sequence_schema = 'fid' and sequence_name like '%account_id%'
sequence_catalog ; sequence_schema ; sequence_name ;data_type
"MAIN" ; "fid" ; "account_account_id_seq" ;"bigint"
Ce comportement est aléatoire.
Si je recrée la séquence à la main, elle va fonctionner.
Mais ce n'est pas la première fois que j'ai cette erreur et je voudrais comprendre la cause.
Merci pour votre aide
Hors ligne
#2 14/09/2012 11:04:24
- rjuju
- Administrateur
Re : problème de sequence
Bonjour,
vous pouvez utiliser SELECT last_value FROM account_account_id_seq
Julien.
https://rjuju.github.io/
Hors ligne
#3 14/09/2012 12:23:03
- Anthony
- Membre
Re : problème de sequence
Oui en effet, cette requête fonctionne correctement sur les deux serveurs.
Mais vous avez une idée de l'echec sur le currval ? un bug de postgresql ?
Hors ligne
#4 14/09/2012 14:10:28
- gleu
- Administrateur
Re : problème de sequence
Ce n'est pas un bug. Comme l'indique le message d'erreur, currval n'est utilisable qu'après (au moins) un setval car setval va enregistrer la valeur courante, le currval.
Guillaume.
Hors ligne
#5 14/09/2012 15:36:41
- Anthony
- Membre
Re : problème de sequence
Effectivement cela fonctionne
Merci
Donc si je comprend bien, currval est un process indépendant de ce que l'on trouve en faisant le
SELECT last_value FROM account_account_id_seq
Hors ligne
#6 14/09/2012 16:52:24
- gleu
- Administrateur
Re : problème de sequence
Oui, complètement.
Guillaume.
Hors ligne
Pages : 1