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 16/11/2007, 10h05   #1
Membre habitué
 
Avatar de Tchinkatchuk
 
Homme Sylvain Gourvil
Freelance en développement Web
Inscription : mars 2005
Messages : 248
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Gourvil
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Freelance en développement Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mars 2005
Messages : 248
Points : 141
Points : 141
Par défaut [LOCK] Transactions et noob

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 :

Code :
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;
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.

Quelqu'un peut -il m'éclairer ?

merci d'avance.
Tchinkatchuk 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 10h56.


 
 
 
 
Partenaires

Hébergement Web