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" <jes...@krogh.cc> napisał: > On 2011-10-09 17:41, Tom Lane wrote: > >> Jesper Krogh<jes...@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<http://www.postgresql.org/mailpref/pgsql-admin> >