Re: Fixing up a corrupted toast table
От | Steve Atkins |
---|---|
Тема | Re: Fixing up a corrupted toast table |
Дата | |
Msg-id | 59351D58-B69F-4EED-8FF3-586BFD7B39D3@blighty.com обсуждение исходный текст |
Ответ на | Re: Fixing up a corrupted toast table (Steve Atkins <steve@blighty.com>) |
Ответы |
Re: Fixing up a corrupted toast table
|
Список | pgsql-general |
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@blighty.com> 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
В списке pgsql-general по дате отправления: