Re: Cannot use a standalone backend to VACUUM in "postgres""
От | Manuel Sugawara |
---|---|
Тема | Re: Cannot use a standalone backend to VACUUM in "postgres"" |
Дата | |
Msg-id | m3myo3yl27.fsf@conexa.fciencias.unam.mx обсуждение исходный текст |
Ответ на | Re: Cannot use a standalone backend to VACUUM in "postgres"" (Alvaro Herrera <alvherre@commandprompt.com>) |
Ответы |
Re: Cannot use a standalone backend to VACUUM in
"postgres""
|
Список | pgsql-general |
Alvaro Herrera <alvherre@commandprompt.com> writes: > Manuel Sugawara wrote: >> Alvaro Herrera <alvherre@commandprompt.com> writes: >> >> > Hmm, nope -- take away the relnamespace check, because there is a >> > different namespace for each backend (pg_temp_2, pg_temp_3, etc). >> >> Still no luck, changed the query to: >> >> select relname, age(relfrozenxid) from pg_class join pg_namespace n on (n.oid = relnamespace) where nspname ~ '^pg_temp' >> >> and no temp tables showed in any database :-(. Any other idea?. > > None :-( Is there any table with a large age value, regardless of > temp-ness? Does the age of the oldest table correspond to the age of > pg_database.datfrozenxid? The interesting database is the one with the > largest age(pg_database.datfrozenxid). A friend is doing the queries right now but it takes time :-(, mean time I was wondering if it will be safe to apply the following patch just to get the database up and be able to run pg_dumpall: *** postgresql-8.2.6/src/backend/access/transam/varsup.c~ 2006-11-05 16:42:07.000000000 -0600 --- postgresql-8.2.6/src/backend/access/transam/varsup.c 2008-04-08 18:34:51.000000000 -0500 *************** *** 225,231 **** * vacuuming requires one transaction per table cleaned, we had better be * sure there's lots of XIDs left...) */ ! xidStopLimit = xidWrapLimit - 1000000; if (xidStopLimit < FirstNormalTransactionId) xidStopLimit -= FirstNormalTransactionId; --- 225,231 ---- * vacuuming requires one transaction per table cleaned, we had better be * sure there's lots of XIDs left...) */ ! xidStopLimit = xidWrapLimit - 500000; if (xidStopLimit < FirstNormalTransactionId) xidStopLimit -= FirstNormalTransactionId; Regards, Manuel.
В списке pgsql-general по дате отправления: