![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Hi: Is there any way to recover data from a corrupted table? I can only run SELECTs on certain WHERE conditions. I cannot vacuum, pg_dump, I've deleted the indexes and try to reindex, always get error: ERROR: could not access status of transaction 4244329 DETAIL: could not open file "/usr/local/pgsql/data/pg_clog/0004": No existe el fichero o el directorio Thanks a lot. |
#3
| |||
| |||
|
|
ruben20 (AT) superguai (DOT) com wrote: Hi: Is there any way to recover data from a corrupted table? I can only run SELECTs on certain WHERE conditions. I cannot vacuum, pg_dump, I've deleted the indexes and try to reindex, always get error: ERROR: could not access status of transaction 4244329 DETAIL: could not open file "/usr/local/pgsql/data/pg_clog/0004": No existe el fichero o el directorio Thanks a lot. Again: create an empty file: # touch /usr/local/pgsql/data/pg_clog/0004 at this point postgres will complain about the fact that an offset is missing, at this point fill with 0 your file ( blocks of 8K ) till reach that offset reclaimed. |
#4
| |||
| |||
|
|
Hi: Is there any way to recover data from a corrupted table? I can only run SELECTs on certain WHERE conditions. I cannot vacuum, pg_dump, I've deleted the indexes and try to reindex, always get error: ERROR: could not access status of transaction 4244329 DETAIL: could not open file "/usr/local/pgsql/data/pg_clog/0004": No existe el fichero o el directorio Thanks a lot. ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html |
|
Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a tool for doing 5% of the work and then sitting around waiting for someone else to do the other 95% so you can sue them. |
#5
| |||
| |||
|
|
Gaetano Mendola wrote: ruben20 (AT) superguai (DOT) com wrote: Hi: Is there any way to recover data from a corrupted table? I can only run SELECTs on certain WHERE conditions. I cannot vacuum, pg_dump, I've deleted the indexes and try to reindex, always get error: ERROR: could not access status of transaction 4244329 DETAIL: could not open file "/usr/local/pgsql/data/pg_clog/0004": No existe el fichero o el directorio Thanks a lot. Again: create an empty file: # touch /usr/local/pgsql/data/pg_clog/0004 at this point postgres will complain about the fact that an offset is missing, at this point fill with 0 your file ( blocks of 8K ) till reach that offset reclaimed. I forgot to suggest you to do: dd bs=8k count=1 < /dev/zero >> /usr/local/pgsql/data/pg_clog/0004 you have to repeat this command till the offset is covered. Regards Gaetano Mendola |
#6
| |||
| |||
|
|
Hi Gaetano: This procedure to recover data from a corrupted table should be documented somewhere... If it is, I could not find it! |
|
Now I wonder if I have lost any data, because after creating the pg_clog/0004 and running VACCUM everything seems ok. |
![]() |
| Thread Tools | |
| Display Modes | |
| |