Re: Can autovac try to lock multiple tables at once?

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: Can autovac try to lock multiple tables at once?
Дата
Msg-id 20070614011940.GC4647@alvh.no-ip.org
обсуждение исходный текст
Ответ на Can autovac try to lock multiple tables at once?  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Can autovac try to lock multiple tables at once?  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Tom Lane wrote:
> $subject would be bad because of potential deadlocks against other
> transactions that might try to exclusive-lock more than one table.
>
> We should be OK for actual vacuum operations, but I think that if
> autovac chooses to just ANALYZE multiple tables, it will do it in
> one transaction and accumulate locks.  Probably the use_own_xacts
> logic in vacuum() ought to special-case IsAutoVacuumWorkerProcess.

Sure, it can do that.  I think it's easy enough to correct this problem;
see attached patch.  Should this be backpatched?  Earlier releases also
fall foul of this problem AFAICT.

--
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

Вложения

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

Предыдущее
От: Andrew Dunstan
Дата:
Сообщение: Re: Bug in UTF8-Validation Code?
Следующее
От: Jim Nasby
Дата:
Сообщение: Re: little PITR annoyance