Bonjour à tous,
Je travaille sur PHP5 avec Postgresql. 8.0.12
Je ne suis pas débutant en SQL mais en administration et surtout en verrous, je n'y connais pas grand chose comme la majorité des développeurs malheureusement
J'ai un script qui met à jour des milliers de lignes ou plutot qui truncate plusieurs tables et les rempli avec des milliers de lignes de données.
Je n'ai jamais eu de soucis même en production mais depuis hier, j'ai un problème d'Access Lock.
Cette erreur se produit lors d'un accès (truncate) sur un table contenant 2 clés étrangère au sein d'une transaction.
En gros jai une table action, une table marché et une table qui regroupe les 2.
La table action a été truncatée plus tot dans la transaction, la table marché n'a pas été modifé et la table qui regroupe les deux me pose ce problème :
J'ai modifié mon script pour faire un commit avant le truncate et donc faire 2 transactions et ca semble fonctionner mais c'est moyen.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ERROR - 2007-11-16 09:18:53 --> Severity: 2 --> pg_query() [<a href='function.pg-query'>function.pg-query</a>]: Query failed: ERREUR: Bloquage détecté DETAIL: Le processus 23813 attend AccessExclusiveLock sur la relation 21197 de la base de données 21180; bloqué par le processus 26968. Le processus 26968 attend AccessShareLock sur la relation 21192 de la base de données 21180; bloqué par le processus 23813. .../crons/xml_import.class.php 779 ERROR - 2007-11-16 09:18:53 --> +---- Requete : NOK -- TRUNCATE TABLE action_accueil;
Quelqu'un peut -il m'éclairer ?
merci d'avance.
Partager