Re: Bogus pg_class.relminmxid value for pg_database

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: Bogus pg_class.relminmxid value for pg_database
Дата
Msg-id 20140627155818.GN7340@eldon.alvh.no-ip.org
обсуждение исходный текст
Ответ на Bogus pg_class.relminmxid value for pg_database  (Heikki Linnakangas <hlinnakangas@vmware.com>)
Список pgsql-bugs
Heikki Linnakangas wrote:
> Right after a fresh initdb on a 9.3 or master database:
>
> postgres=# select oid,relname,relminmxid from pg_class where
> relname='pg_database';
>  oid  |   relname   | relminmxid
> ------+-------------+------------
>  1262 | pg_database | 4244967297
> (1 row)
>
> That bogus value seems to appear already some time during initdb.
> The relminmxid for all other tables is 1, which is correct.

I finally figured the source of this issue: it's caused by VACUUM FULL
(executed by initdb while copying template1 into template0): we're
missing a protection that relminmxid doesn't go backwards when swapping
heaps.  We already have such a check for xids.

This is mostly innocuous, but I'm about to push the attached fix all the
same, backpatched to 9.3.  (The extra context lines make the patch very
clear.)

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

Вложения

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

Предыдущее
От: David G Johnston
Дата:
Сообщение: Re: pg import text data to not null table comma error but semicolon right
Следующее
От: lunda@bitmessage.ch
Дата:
Сообщение: BUG #10785: error if using x>n AND x