Re: DB corruption.

Поиск
Список
Период
Сортировка
От Lukasz Brodziak
Тема Re: DB corruption.
Дата
Msg-id CAGWYGjWXb8jD_f-rbC6BJt4g+AGYrgbaX1bX3N=NF9yfDWahCw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: DB corruption.  (Jesper Krogh <jesper@krogh.cc>)
Список pgsql-admin

You may use this:
SET zero_damaged_pages = on;
VACUUM FULL corrupted_table;

Unfortunately zeroing pages will result in losing data written in them(will be rewritten with zeros).

09-10-2011 19:49 użytkownik "Jesper Krogh" <jesper@krogh.cc> napisał:
On 2011-10-09 17:41, Tom Lane wrote:
Jesper Krogh<jesper@krogh.cc>  writes:
I have got a corrupt db.. most likely due to an xfs bug..
pg_dump: SQL command failed
pg_dump: Error message from server: ERROR:  invalid page header in block
14174944 of relation base/16385/58318948
Can I somehow get pg_dump to "ignore" that block and dump everything else?
The traditional solution is to zero out the bad block, eg using dd from
/dev/zero.  It's easy to zero more than you intended, so practicing on a
scratch copy of the table is recommended.

But first you should check what kind of relation that is.  If it's an
index, you could just REINDEX it instead.

So it is "just" blocknumber * blocksize .. offset, blocksize of zeroes.. ?
Or is the math harder?

--
Jesper

--
Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: DB corruption.
Следующее
От: "Albe Laurenz"
Дата:
Сообщение: Re: [GENERAL] how to save a bytea value into a file?