> >
> > 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