Re: lock problem

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

 



well, thanks. I checked the application and found there was a bug causing many queries were updating the same row. However, those updates are just single statement, no multi-statement transaction involved. So I still have this question: same statement A,B,C,D update same row. The start order is A->B->C-D. From what I've gotten, B/C/D got the lock before A. Why did that happen?

于2011年12月21日 23:40:35,Bèrto ëd Sèra写到:
Hi,

    > I dig another case more and found something interesting. it's
    actually
    > waiting for a lock of type transactionid. I ran the query below 3

    Normal.  That's the kind of lock you are waiting for when some other
    transaction has touched the same rows for update that you are
    attempting.


Record level locks are stored on the records themselves, so you won't see them explicitly mentioned in views like pg_locks: "Although tuples are a lockable type of object, information about row-level locks is stored on disk, not in memory, and therefore row-level locks normally do not appear in this view. If a transaction is waiting for a row-level lock, it will usually appear in the view as waiting for the permanent transaction ID of the current holder of that row lock."
See http://www.postgresql.org/docs/9.1/static/explicit-locking.html

Bèrto
--
==============================
If Pac-Man had affected us as kids, we'd all be running around in a darkened room munching pills and listening to repetitive music.



--
Sent via pgsql-admin mailing list (pgsql-admin@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux