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

Tables "bloquées"

Technique - général | Tables "bloquées"

Par ket le 15/06/2006 - 11:27

Bonjour,

je rencontre des problĂšmes trĂšs gĂȘnants avec PostgreSQL (8.0.3), dont je pense deviner la cause. Deux tables de ma base paraissent "bloquĂ©es", c'est Ă  dire que je ne peux plus rien faire avec, toutes les commandes SQL qui concernent l'une de ces tables ne se terminent pas, sans gĂ©nĂ©rer de messages d'erreur. MĂȘme un simple SELECT semble infini, je ne peux pas crĂ©er de contraintes de clĂ© Ă©trangĂšre vers ces tables, etc.
Le truc, c'est que tout Ă  l'heure, j'ai lancĂ© une requĂȘte qui ne m'a pas parue absurde tout de suite. Je voulais simplement obtenir le nombre de ligne de chacune de ces 2 tables dans une seule requĂȘte, et j'ai fait : SELECT count(a.*),count(b.*) FROM table1 a, table2 b
PremiĂšrement, la requĂȘte ne m'aurait pas donnĂ© le rĂ©sultat voulu, mais surtout, chaque table contient environ 80000 enregistrements, donc la requĂȘte doit produire 80000 x 80000 lignes, et lĂ  je comprends que ca prenne du temps ...

Si j'avais utilisĂ© pgAdmin pour faire cette requĂȘte, j'aurais pu l'annuler avec le bouton correspondant, mais j'utilise aussi EMS Manager, et je n'ai pas trouvĂ© d'annulation.

Donc, est-ce que je peux annuler la requĂȘte d'une autre facon, ou alors suis-je condamnĂ© Ă  attendre qu'elle se termine d'elle-mĂȘme ?
Ou alors ai-je mal diagnostiqué mon problÚme ?

Merci pour votre aide.

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.

C'est bon, la requĂȘte a fini

ket/ = 21 Juin, 2006 - 09:50

C'est bon, la requĂȘte a fini par se terminer d'elle-mĂȘme, mais ca m'a pĂ©nalisĂ© pendant quelques bonnes heures tout de mĂȘme ...
Maintenant, j'ai dĂ©fini le paramĂštre statement_timeout Ă  une valeur qui m'Ă©vitera de rencontrer ce genre de problĂšme Ă  nouveau. Mais cela n'agit que sur les futures requĂȘtes, donc si une requĂȘte "ultra-longue" est dĂ©jĂ  en cours d'exĂ©cution, il n'y a pas d'autres solutions a priori que de tuer le processus si l'on a accĂšs directement au serveur (ce qui n'Ă©tait pas mon cas).


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