"hubert depesz lubaczewski" <depesz@xxxxxxxxx> writes: > i made pg_filedump _FILE_ > ~/_FILE_.dump > it went fine > grep -i error ~/*.dump also didn't show anything. Oh, that's interesting. Looking more closely, the test in PageRepairFragmentation() if (itemidptr->itemoff < (int) pd_upper || itemidptr->itemoff >= (int) pd_special) ereport(ERROR, (errcode(ERRCODE_DATA_CORRUPTED), errmsg("corrupted item pointer: %u", itemidptr->itemoff))); is slightly tighter than what pg_filedump does: // Make sure the item can physically fit on this block before // formatting if ((itemOffset + itemSize > blockSize) || (itemOffset + itemSize > bytesToFormat)) printf (" Error: Item contents extend beyond block.\n" " BlockSize<%d> Bytes Read<%d> Item Start<%d>.\n", blockSize, bytesToFormat, itemOffset + itemSize); I'm guessing that the lack of a check for itemOffset < pd_upper is why pg_filedump is failing to notice anything wrong. Do you want to add one and try again? regards, tom lane