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 по дате отправления: