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 25/05/2005, 12h08   #1
Candidat au titre de Membre du Club
 
Inscription : avril 2004
Messages : 16
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 16
Points : 11
Points : 11
Par défaut deadlock lors d'un update

Bonjour,
n'ayant pas trouvé dans le forum, je vous pose la question.
je voudrais gérer le blocage d'une ligne de table lorsqu'elle est en modification.
j'ai activé la variable deadlock_timeout = 1000 dans le fichier postgresql.conf.
si je fair un select ... for update, le blocage est géré pour un autre utilisateur essayant de modifier la même ligne, mais je n'ai pas de retour d'erreur. Le blocage est infini jusqu'à ce que le premier user qui a bloqué libère la ligne.

je dois oublier quelque chose, mais je ne sais pas quoi.

Merci d'avance
jacques trepp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2005, 11h59   #2
Candidat au titre de Membre du Club
 
Inscription : avril 2004
Messages : 16
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 16
Points : 11
Points : 11
bonjour,
je m'auto-répond !
deadlock n'a rien à voir avec mon ptoblème.
Par contre :
statement timeout = 1000
me renvoie bien l'info (erreur 0) m'indiquant que la ligne est déjà bloquée.
jacques trepp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2005, 16h46   #3
Candidat au titre de Membre du Club
 
Inscription : avril 2004
Messages : 16
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 16
Points : 11
Points : 11
Par défaut statement_timeout

bonjour
je reprend mon (mes) post précédent.
je travaille avec une base postgresql à partir d'une appli en windev (oui, je sais...)
lorsque je bloque un enregistrement (select...for update), je voudrais que les autres utilisateurs soient prévenus si ils veulent bloquer le même enregistrement que moi.
si je modifie dans postgresql.conf
statement_timeout = 1000
j' ai bien une erreur indiquant que la requète a échoué.
sauf que j'ai la même erreur lors d'une requète dépassant 1 seconde.
j'ai reparamétré le statement_timeout à 15000, mais attendre 15 secondes pour se faire dire que le record est bloqué, ça fait un peu long.
Pour exécuter une requète complexe, 15 secondes, ça peut faire court.
y a-t-il une autre possibilité ? si oui, laquelle ?

merci
jacques trepp 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 14h22.


 
 
 
 
Partenaires

Hébergement Web