Re: Could not finish anti-wraparound VACUUM when stop limit is reached

Поиск
Список
Период
Сортировка
От Jeff Janes
Тема Re: Could not finish anti-wraparound VACUUM when stop limit is reached
Дата
Msg-id CAMkU=1x4ii=0R4GRAFEENKBFbfOXncex9uJoANs_MM+bqGHP_g@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Could not finish anti-wraparound VACUUM when stop limit is reached  (Andres Freund <andres@2ndquadrant.com>)
Список pgsql-hackers
On Sun, May 25, 2014 at 8:53 AM, Andres Freund <andres@2ndquadrant.com> wrote:
On 2014-05-25 11:40:09 -0400, Heikki Linnakangas wrote:
> So, vac_truncate_clog() tries to get a new transaction ID, which fails
> because we've already reached the stop-limit. vac_truncate_clog() doesn't
> really need a new XID to be assigned, though, it only uses it to compare
> against datfrozenxid to see if wrap-around has already happened, so it could
> use ReadNewTransactionId() instead.

Right. But IIRC we need one in the vicinity anyway to write new
pg_database et al rows?

pg_database and pg_class are updated with heap_inplace_update in these cases.

The page gets a new LSN, but the tuples do not get a new transaction ID.

Cheers,

Jeff


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

Предыдущее
От: Andrew Dunstan
Дата:
Сообщение: Re: idle_in_transaction_timeout
Следующее
От: Josh Berkus
Дата:
Сообщение: Re: idle_in_transaction_timeout