Re: could not access status of transaction pg_multixact issue
От | jim_yates |
---|---|
Тема | Re: could not access status of transaction pg_multixact issue |
Дата | |
Msg-id | 1412863620263-5822376.post@n5.nabble.com обсуждение исходный текст |
Ответ на | Re: could not access status of transaction pg_multixact issue (Alvaro Herrera <alvherre@2ndquadrant.com>) |
Ответы |
Re: could not access status of transaction pg_multixact issue
|
Список | pgsql-sql |
Alvaro Herrera-9 wrote > jim_yates wrote: > >> > A better way not involving mxid_age() would be to use pg_controldata to >> > extract the current value of the mxid counter, then subtract the >> current >> > relminmxid from that value. >> >> >> It's not clear which lines from pg_controldata to use for updating >> pg_database.datminmxid. > > The one labelled NextMultiXactId. > >> I also assume I would do the pg_database update on a idle database. > > It doesn't matter, actually. pg_database is a shared catalog, so an > update would affect all the databases. > > -- > Álvaro Herrera http://www.2ndQuadrant.com/ > PostgreSQL Development, 24x7 Support, Training & Services I tried doing the update to pg_database on my Dev server and I can't get it to work. How do I calculate the new datminmxid value? NextMultiXactId: 30349 relminmxid from pg_class for the table: 8376 If I subtract the relminmxid from the nextmulixact I get 21793 which won't work. production-copy=# update pg_database set datminmxid=21973 where datname='production-copy'; ERROR: column "datminmxid" is of type xid but expression is of type integer -- View this message in context: http://postgresql.1045698.n5.nabble.com/could-not-access-status-of-transaction-pg-multixact-issue-tp5822248p5822376.html Sent from the PostgreSQL - sql mailing list archive at Nabble.com.
В списке pgsql-sql по дате отправления: