PostgreSQL
La base de données la plus sophistiquée au monde.

Ouverture de session

Navigation

Contactez-nous

Administration du site :
"equipe chez postgresqlfr point org"

Contact presse :
"fr chez postgresql point org"

Contact association :
"bureau chez postgresqlfr point org"

Questions PostgreSQL :
 IRC :
  serveur irc.freenode.net
  canal #postgresqlfr

Recherche

Accéder aux archives

« Octobre 2008  
Lun Mar Mer Jeu Ven Sam Dim
  2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31  

Syndication

Flux XML

Sondage

Quelle est la version de PostgreSQL la plus répandue sur vos serveurs ?
8.3
10%
8.2
42%
8.1
40%
8.0
2%
7.4
6%
7.3 ou antérieure
0%
Nombre de votes: 48

Process UPDATE waiting

Technique - général | Process UPDATE waiting

Par esimon le 08/11/2006 - 17:01

Bonjour,

Nous travaillons sur une base PostgreSQL 7.4.7 sous une distribution Linux Debian Sarge et nous rencontrons des problèmes de deadlock sur des instructions UPDATE. Notre application J2EE utilise le framework de mapping O/R Hibernate pour les communication avec la base.
Lorsque nous listons les process nous nous apercevons que progressivement une certin nombre de process restent en UPDATE waiting. En tracant les instructions SQL, j'ai essayé de trouver les instructions UPDATE posant problème. Seulement l'UPDATE en question fonctionne apparement correctement, puisque les enregistrements sont mis à jour.
Est-ce que certians d'entre vous ont déjà été confronté à ce problème ? Auriez vous des pistes ?

Merci.

Options d'affichage des commentaires

Sélectionnez la méthode d'affichage des commentaires que vous préférez, puis cliquez sur "Sauvegarder les paramètres" pour activer vos changements.

Commit

sparky/ = 8 Novembre, 2006 - 18:05

les problèmes de DeadLock sont souvent du à
* un mauvais design de l'application
* un manque de commit


UPDATE waiting

esimon/ = 8 Novembre, 2006 - 18:58

Merci pour ces pistes.
Nous ne remettons pas en cause le design de notre application, car ce pb apparait seulement dans certains cas et sur des tables qui n'ont aucune FK vers d'autres tables. Donc nous allons analyser la gestion des commit.
Nous venons également de constater que certains process sont en SELECT waiting. Est-ce que ce pb peut être également du à la même cause ?


Je voue conseille de tracer t

sparky/ = 9 Novembre, 2006 - 18:45

Je voue conseille de tracer toutes les requêtes SQL, voir l'option log_statement, vous devriez pourvoir attraper celle dont on a oublié le commit ;)


© PostgreSQLFr, tous droits réservés.
Site déclaré à la CNIL sous le numéro 1074678, conformément à la Loi en vigueur.