Dietmar Maurer wrote: > > > > > > 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?). Because doing otherwise would cause starvation for some lockers. > 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?. What update/insert race condition? Maybe you are talking about the subject of example 37-1 here: http://www.postgresql.org/docs/current/static/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING -- Alvaro Herrera http://www.CommandPrompt.com/ PostgreSQL Replication, Consulting, Custom Development, 24x7 support ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to majordomo@xxxxxxxxxxxxxx so that your message can get through to the mailing list cleanly