Re: Allowing VACUUM to time out when waiting for locks?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Allowing VACUUM to time out when waiting for locks?
Дата
Msg-id 215.1107068320@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Allowing VACUUM to time out when waiting for  (Philip Warner <pjw@rhyme.com.au>)
Список pgsql-hackers
Philip Warner <pjw@rhyme.com.au> writes:
> Am I correct in saying that the FSM now tracks the entire table, and that 
> the FSM parameters just determine how much is stored in memory?

No.  Any free space that can't be remembered in FSM is lost to use.
(Not completely --- an update of a row on the same page can reuse it ---
but for the most part you want to make FSM large enough to remember all
the useful free space.)

> Is any type of opportunistic locking likely/planned for a future version 
> (ie. a has lock, b asks for conflicting lock, c asks for lock that is OK 
> with a but denied by b; so c's lock is allowed and b stays waiting).

That's deliberately disallowed by the current logic because of the risk
of starving b indefinitely.  IIRC it would be a trivial code change to
do the other, but I doubt it's a good idea.  The typical situation is
exactly a VACUUM that wants an exclusive lock, versus a fairly
continuous stream of shared lock requests for select/insert/update/delete.
        regards, tom lane


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

Предыдущее
От: Oleg Bartunov
Дата:
Сообщение: Re: Huge memory consumption during vacuum (v.8.0)
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Huge memory consumption during vacuum (v.8.0)