It appears that I have a bad block/disk sector etc., which is preventing
me from retrieving the rows from this table. All other tables within
this database is fine.
In preparation for zeroing out the bad block I tried to do a cold backup/
copy
cp -r * ../data2/
and received the following from cp
cp: base/9221176/9221183: I/O error
So I set the parameter zero_damaged_pages=true
and tried running vacuum on the table
vacuum full docs;
ERROR: could not read block 67680 of relation base/9221176/9221183: I/O
error
Next I looked at the directories in /data/base/9221176
-bash-3.00$ ls 9221183*
9221183 9221183.1 9221183.2 9221183_fsm 9221183_vm
I am trying to find the file that contains the bad block. Calculating
the chunk number gives me 9221183/ 131072 = 70.352043152
But this .xx doesn’t exist.
Also I’m not sure what _fsm or _vm file is or how to proceed. I do not
have a recent backup of this database/table. It contains a bytea field
which stores documents and is quite large compared to the rest of the
database., Any help would be appreciated.
Thanks