Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/01/2007, 16h30   #1
Invité de passage
 
Inscription : janvier 2004
Messages : 9
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 9
Points : 0
Points : 0
Par défaut probleme enregistrement dans base

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
charlie2709 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2007, 21h06   #2
jnore
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
y a t-il des messages d'erreur à l'insertion des données?
  Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2007, 21h08   #3
Membre actif
 
Inscription : novembre 2006
Messages : 194
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 194
Points : 197
Points : 197
une question de droit surement
coca25 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2007, 21h16   #4
jnore
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
regarde tes séquences sur tes clés primaires si elles sont bien à jour
  Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2007, 10h41   #5
Invité de passage
 
Inscription : janvier 2004
Messages : 9
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 9
Points : 0
Points : 0
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.
charlie2709 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2007, 12h38   #6
jnore
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
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 :
1
2
 
ALTER SEQUENCE "public"."CHARGES_cle_seq" INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807  START 67 CACHE 1
67 est la future valeur de ta clé primaire.

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.
  Envoyer un message privé Réponse avec citation 00
Vieux 15/01/2007, 09h36   #7
Invité de passage
 
Inscription : janvier 2004
Messages : 9
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 9
Points : 0
Points : 0
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
charlie2709 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/01/2007, 11h04   #8
Membre actif
 
Inscription : novembre 2006
Messages : 194
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 194
Points : 197
Points : 197
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 :
1
2
 
SELECT last_value FROM decret_numero_decret_seq;
si ca ne te donne pas 12, il faut l'initialiser:
Code :
1
2
 
SELECT SETVAL ('decret_numero_decret_seq', 12);
a partir de l'application tu n'as pas de log qui te permettrait de voir les erreurs?
ou au pire execute exactement la meme requete en faisant gaffe à te loguer avec les meme permissions
coca25 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/01/2007, 12h12   #9
Invité de passage
 
Inscription : janvier 2004
Messages : 9
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 9
Points : 0
Points : 0
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
charlie2709 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/01/2007, 13h38   #10
Membre actif
 
Inscription : novembre 2006
Messages : 194
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 194
Points : 197
Points : 197
avec quelle commande tu effectues la sauvegarde?
coca25 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/01/2007, 13h45   #11
Invité de passage
 
Inscription : janvier 2004
Messages : 9
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 9
Points : 0
Points : 0
Bonjour,

en fait je travaille avec pgAdmin III pour effectuer les sauvegardes et les restaurations.
charlie2709 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h32.


 
 
 
 
Partenaires

Hébergement Web