Mott Leroy <[EMAIL PROTECTED]> writes:
> One thing I noticed is it seems like for every transaction lock there's 
> an "ExclusiveLock" (to be expected, a lock on the transaction num) as 
> well as a "ShareLock" on the same transaction which has not been granted 
> the lock -- does this mean that two processes are trying to share the 
> same transaction? Could this be the case?

No, the ShareLock is the means used when transaction A needs to wait for
transaction B to complete --- it tries to take a share lock on xact B's
XID, which of course is blocked as along as B is holding its
ExclusiveLock.  This is used when there is a row-update conflict, ie,
A wants to lock or update a table row that B's already locked/updated.
Unfortunately, in 7.4 there isn't any easy way to find out exactly which
row transaction A is waiting on.

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to