> > > > Why cant postgres get the RowExclusiveLock in transaction 3369000? > > Probably because the ExclusiveLock'ers are waiting in front > of RowExclusiveLock. Locks are granted in order. > > It would help if you didn't mangle the pg_locks output so badly. Yes, sorry about that. I was able to reproduce the problem, and the problem is that locks are granted in order (wonder why?). Anyways, i am trying to avoid locks now, by using my own merge function to avoid update/insert race condition. Or what is the suggested way to avoid the update/insert race condition?. - Dietmar ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster