Re: obtaining row locking information

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: obtaining row locking information
Дата
Msg-id 28118.1123511172@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: obtaining row locking information  (Tatsuo Ishii <t-ishii@sra.co.jp>)
Ответы Re: obtaining row locking information  (Tatsuo Ishii <t-ishii@sra.co.jp>)
Re: obtaining row locking information  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Список pgsql-hackers
Tatsuo Ishii <t-ishii@sra.co.jp> writes:
> If I understand correctly, it seems the above method does show a
> locked row's TID which does not block someone else. That is a little
> bit different from what I expcted.

Well, it *could* be blocking someone else.  If there were more than one
waiter for the same tuple, one of them would be holding the tuple lock
(and blocked on the transaction ID of the actual holder of the tuple),
and the other ones would be blocked on the first waiter's tuple lock.
We put this in so that the full lock manager rules would be used to
arbitrate conflicts between shared and exclusive lockers of a tuple.
The tuple lock is being used to manage the grant order and ensure that
a would-be exclusive locker doesn't get "starved out" indefinitely if
there is a continuous chain of shared-lock requests.  See the notes in
heap_lock_tuple().
        regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: "Mark Woodward"
Дата:
Сообщение: Re: shrinking the postgresql.conf
Следующее
От: Tatsuo Ishii
Дата:
Сообщение: Re: obtaining row locking information