Search Postgresql Archives

Re: Fixing up a corrupted toast table

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Feb 17, 2006, at 8:27 AM, Steve Atkins wrote:


On Feb 17, 2006, at 6:29 AM, Tom Lane wrote:

Steve Atkins <steve@xxxxxxxxxxx> writes:
pg_dump: ERROR:  missing chunk number 0 for toast value 25923965
[snip]


If that doesn't work, the standard technique for locating damaged data
should help: find the bad row by identifying the largest N for which
"SELECT * FROM table LIMIT n" doesn't fail, then "SELECT ctid FROM table OFFSET n LIMIT 1". You may be able to delete the bad row with "DELETE
FROM table WHERE ctid = 'value gotten above'", but I wouldn't be too
surprised if the DELETE gives the same error. If so, you can probably
make it happy by inserting a dummy row into the toast table (chunk ID
as specified in the error, chunk sequence 0, any old data value).

OK, that's what I was looking for. Thanks!

Unfortunately, postgresql is smarter than I am.

Any attempt to touch the toast table gives me:

ERROR:  cannot change TOAST relation "pg_toast_17410"

If I set relkind to 'r' for the toast table, shove some fake data
in there and set it back to 't' that should do it, shouldn't it?

Cheers,
  Steve


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux