Re: Missing CONCURRENT VACUUM (Was: Release notes for

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Missing CONCURRENT VACUUM (Was: Release notes for
Дата
Msg-id 5302.1124304489@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Missing CONCURRENT VACUUM (Was: Release notes for  (Hannu Krosing <hannu@skype.net>)
Ответы Re: Missing CONCURRENT VACUUM (Was: Release notes for  (Hannu Krosing <hannu@skype.net>)
Список pgsql-hackers
Hannu Krosing <hannu@skype.net> writes:
> Please check the actual patch and advise if anything is still missing.

While testing this I realized that it does not in fact work as
advertised.  It will only exclude long-running VACUUMs from other
VACUUMs' OldestXmin if *all* the transactions in the system are lazy
VACUUMs.  If there is even one regular transaction in the system,
that transaction will include the VACUUMs in its MyProc->xmin, and
thence GetOldestXmin will have to include them in its result.

AFAICS the only way to fix this would be to exclude inVacuum
transactions from GetSnapshotData's calculations as well.  That
makes the patch far more invasive, and I'm not confident I can work
out all the implications.  (In particular, the consequences for
TransactionIdIsInProgress look bad.  I don't think we want a VACUUM
to be seen as not-in-progress.)

So I'm bouncing this patch again...
        regards, tom lane


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

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Crash while trying to log in with nonexistent role
Следующее
От: Dave Cramer
Дата:
Сообщение: Re: pl/Ruby, deprecating plPython and Core