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 [EMAIL PROTECTED] so that your
       message can get through to the mailing list cleanly

Reply via email to