Vous n'êtes pas identifié(e).
Bonjour,
Je lance des INSERT depuis un ETL et j'ai des ExclusiveLock, des AccessShareLock et des RowExclusiveLock sur la table.
En résumé ... je m'auto-verrouille !
select t.relname,l.locktype,page,virtualtransaction,pid,mode,granted
from pg_locks l, pg_stat_all_tables t
where l.relation=t.relid
order by relation asc;
"ma_table";"relation";;"14/63596";7415;"RowExclusiveLock";t
Une idée ?
Gôm
Hors ligne
un insert égal une transaction ? ou masse insert sous une seule transaction ?
Hors ligne
1000 INSERT par transaction. J'ai essayé avec 1 INSERT pour 1 transaction, mais rien n'y fait !
Hors ligne
Non, on ne s'autoverrouille pas pour si peu: rowexclusivelock n'est pas un verrou d'enregistrement, mais un verrou partagé de table. http://www.postgresql.org/docs/9.1/stat … cking.html
Tout ce que fait ce verrou, c'est dire «attention, je suis en train de faire un update sur la table, merci de ne pas faire d'alter, drop… dessus»
Marc.
Hors ligne