Search Postgresql Archives

transactionid lock type?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I have two concurrent transactions, both heavy R/W type things. I now see that 
one is backed up behind in the other, and pg_locks shows me this:

sep=# select locktype, transactionid, transaction from pg_locks where not 
granted;
   locktype    | transactionid | transaction
---------------+---------------+-------------
 transactionid |       3391481 |     3391528
(1 row)


The TFM tells me (in the description of pg_locks):

"Every transaction holds an exclusive lock on its transaction ID for its 
entire duration. If one transaction finds it necessary to wait specifically 
for another transaction, it does so by attempting to acquire share lock on 
the other transaction ID. That will succeed only when the other transaction 
terminates and releases its locks."

So what could make my transaction decide to wait for that other tx? I've 
checked to see that all updates to rows shared by the two transactions are 
done late in the process, but this lock happens almost immediately after the 
second tx starts...

Comments?

jan

-- 
--------------------------------------------------------------
Jan de Visser                     jdevisser@xxxxxxxxxxxxxxxxxx

                Baruk Khazad! Khazad ai-menu!
--------------------------------------------------------------

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux