Re: postgresql 9.6 - cannot freeze committed xmax

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: postgresql 9.6 - cannot freeze committed xmax
Дата
Msg-id 20180228225643.trwxqmovq4uflf4f@alvherre.pgsql
обсуждение исходный текст
Ответ на Re: postgresql 9.6 - cannot freeze committed xmax  (Andres Freund <andres@anarazel.de>)
Ответы Re: postgresql 9.6 - cannot freeze committed xmax  (Alexandre Garcia <alexandre@vmfarms.com>)
Список pgsql-admin
Andres Freund wrote:

> Alvaro,
> 
> On 2018-02-28 21:17:08 +0000, Alexandre Garcia wrote:
> > Oh yes sorry => `ERROR:  cannot freeze committed xmax 43076385` on that
> > same table
> 
> In light of
> Latest checkpoint's NextXID:          0/128653693
> I find this confusing.

Ooh.

If you SELECT FOR UPDATE a tuple in 9.2, bit 0x0040 gets set in
infomask, and nothing else.  If you pg_upgrade and later try to freeze
such a tuple, it will fail with the error reported.

The correct test to use is HEAP_XMAX_IS_LOCKED_ONLY, which also tests
for the above condition.

I will verify this theory and push a patch shortly, if it proves
correct.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


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

Предыдущее
От: Bear Giles
Дата:
Сообщение: Re: audit table with permissions
Следующее
От: Alexandre Garcia
Дата:
Сообщение: Re: postgresql 9.6 - cannot freeze committed xmax