|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : janvier 2004 Messages : 9 ![]() |
Bonjour,
je viens de réaliser une restauration de ma base sous postgres 8.0. Je n'ai pas eut de messages d'erreurs lors de cette restauration.Mais quand j'essaie maintenant d'enregistrer des données dans cette base à partir de l'application je n'y arrive pas.Les données ne sont pas enregistrées dans la base. Je vous remercie d'avance |
|
|
00
|
|
|
#2 |
|
Invité(e)
Messages : n/a ![]() |
y a t-il des messages d'erreur à l'insertion des données?
|
00
|
|
|
#3 |
|
Membre actif
![]() Inscription : novembre 2006 Messages : 194 ![]() |
une question de droit surement
|
|
|
00
|
|
|
#4 |
|
Invité(e)
Messages : n/a ![]() |
regarde tes séquences sur tes clés primaires si elles sont bien à jour
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : janvier 2004 Messages : 9 ![]() |
Je n'ai pas de messages d'erreurs lors de l'insertion des données.Comment fait on pour verifier si les sequences sur les clés primaires sont bien mis à jour?Au niveau des droits apriori je n'ai pas de problemes vu que je peux inserer des données dans 2 tables de la base.
|
|
|
00
|
|
|
#6 | ||
|
Invité(e)
Messages : n/a ![]() |
A chaque fois que tu crée une clé primaire avec le format serial une sequence est créee.
Pour voir si le prochain numéro va être valide, tu regardes déjà la valeur max des clés primaires de tes tables en question. Si la prochaine valeur est ta valeur max+1 c'est ok et le problème n'est pas là. Si ça n'est pas ok tu dois reparamétrer ta séquence. exemple pour redonner la bonne valeur à ta séquence= Code :
Si t'es sous windows, utilise ems postgresql pour retrouver ta séquence et la revalider, c'est facile à faire. Pgadmin doit faire l'affaire aussi. |
||
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : janvier 2004 Messages : 9 ![]() |
Bonjour,
j'ai regardé mes séquences, voila un exemple d'une sequence d'une table qui pour l'instant contient 12 enregistrements : CREATE SEQUENCE decret_numero_decret_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; ALTER TABLE decret_numero_decret_seq OWNER TO postgres; faut-il que je mette 12 à START? je vous remercie |
|
|
00
|
|
|
#8 | ||||
|
Membre actif
![]() Inscription : novembre 2006 Messages : 194 ![]() |
si c'est une erreur de sequence, normalement, en voulant inserer une donnees, tu devrais avoir une erreur du genre "cle duplique"
avec pg_dump, normalement, c'est à la creation de la table que se cree la sequence et ensuite, la valeur de départ est affecte avec un setval. au pire, tu peux effectuer Code :
Code :
ou au pire execute exactement la meme requete en faisant gaffe à te loguer avec les meme permissions |
||||
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : janvier 2004 Messages : 9 ![]() |
Merci ça à l'air de marcher.Mais je voulais savoir dans le cas ou je refais une sauvegarde puis une restauration, est ce qu'il faut à chaque fois que je remodifie les séquences?
merci d'avance |
|
|
00
|
|
|
#10 |
|
Membre actif
![]() Inscription : novembre 2006 Messages : 194 ![]() |
avec quelle commande tu effectues la sauvegarde?
|
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : janvier 2004 Messages : 9 ![]() |
Bonjour,
en fait je travaille avec pgAdmin III pour effectuer les sauvegardes et les restaurations. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com