Re: BUG #5946: Long exclusive lock taken by vacuum (not full)
От | Tom Lane |
---|---|
Тема | Re: BUG #5946: Long exclusive lock taken by vacuum (not full) |
Дата | |
Msg-id | 16570.1301090182@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: BUG #5946: Long exclusive lock taken by vacuum (not full) (Christopher Browne <cbbrowne@gmail.com>) |
Ответы |
Re: BUG #5946: Long exclusive lock taken by vacuum (not full)
|
Список | pgsql-bugs |
Christopher Browne <cbbrowne@gmail.com> writes: > What seems natural-ish to me might include: > - Stomping a bit on the FSM replacement to make sure nobody's going to > be writing to the later extensions; > - Watching free space during the process so the "first" extension gets > re-opened up if the free space in the much earlier parts of the table > (e.g. - that are not planned to be dropped off) is running out. You seem to be thinking only about the possibility that somebody would try to write a new tuple into the space-to-be-freed. The problem that necessitates use of AccessExclusiveLock is that somebody could be doing a seqscan that tries to *read* the blocks that are about to be truncated away. We can't really improve matters much here unless we think of a way to fix that. It would be okay if the scan just ignored blocks it failed to read, but how do you distinguish the case from a filesystem error that really should be reported? regards, tom lane
В списке pgsql-bugs по дате отправления: