Le tableau output_values_center1
(et un autre) hérite de output_values
. Périodiquement, je tronque la table output_values_center1
et charge de nouvelles données (en une transaction). Pendant ce temps, l'utilisateur peut demander des données et il a reçu un message d'erreur. Pourquoi il arrive toujours (sélectionner des requêtes d'interrogation seulement un record) et comment éviter ce problème:Impasse entre select et truncate (postgresql)
2010-05-19 14:43:17 UTC ERROR: deadlock detected
2010-05-19 14:43:17 UTC DETAIL: Process 25972 waits for AccessShareLock on relation 2495092 of database 16385; blocked by process 26102.
Process 26102 waits for AccessExclusiveLock on relation 2494865 of database 16385; blocked by process 25972.
Process 25972: SELECT * FROM "output_values" WHERE ("output_values".id = 122312) LIMIT 1
Process 26102: TRUNCATE TABLE "output_values_center1"
pouvez-vous développer les id de relation à partir de ce message d'erreur? c'est-à-dire 'select 2494865 :: regclass' etc – araqnid
merci, la question était plus utile que les réponses, après avoir regardé les relations id j'ai compris où est le problème :) – valodzka