Re: could not access status of transaction pg_multixact issue

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: could not access status of transaction pg_multixact issue
Дата
Msg-id 20141009180022.GE7043@eldon.alvh.no-ip.org
обсуждение исходный текст
Ответ на Re: could not access status of transaction pg_multixact issue  (jim_yates <pg@wg5jim.net>)
Ответы Re: could not access status of transaction pg_multixact issue  (jim_yates <pg@wg5jim.net>)
Список pgsql-sql
jim_yates wrote:
> Alvaro Herrera-9 wrote
> > 
> > There must have been some confusion somewhere; certainly you shouldn't
> > be subtracting anything.  The subtraction was just suggested as a way to
> > determine the age.  The value to update pg_database.datminmxid to is the
> > oldest one of all the relminmxid in pg_class; so if you have 8376 as the
> > minimum value there, that's what you set pg_database.datminmxid to.  Not
> > the 21973 value.
> > 
> >  update pg_database set datminmxid='8376' where datname='production-copy';
> 
> Ok, I'm still confused.  Is the value to use the Max value of relminmxid
> from pg_class or the value of NextMultiXactId from pg_controldump?   Or are
> these the same thing?

You need to *minimum* of all the values in relminmxid (excluding those
that are zero).

The pg_controldata value is a mechanism to determine which value is
minimum -- when there's been wraparound, the minimum might be "smaller
than zero", i.e. something like 4 thousand millions.  I doubt this is
your case though.

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



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

Предыдущее
От: jim_yates
Дата:
Сообщение: Re: could not access status of transaction pg_multixact issue
Следующее
От: jim_yates
Дата:
Сообщение: Re: could not access status of transaction pg_multixact issue