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
|
Список | 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 по дате отправления: