Augustin Amann <augustin@xxxxxxx> writes: > Tom Lane a écrit : >> What that really means is that the first process is waiting for a row >> lock that's held by the second one --- that is, it's trying to update a >> row that the second transaction has updated and not yet committed. > I understand. But a dead lock is for me, a situation that sould not > appear, event if the storage is slow ... I'm wrong ? If you're getting deadlocks on these, then what you have is two concurrent transactions trying to update the same two tuples in different orders. Which is a classic deadlock case, and the only fix is to fix your app so that multiple updates are done in some consistent order --- or broken into multiple transactions. regards, tom lane