Re: Fixing up a corrupted toast table

Поиск
Список
Период
Сортировка
От Steve Atkins
Тема Re: Fixing up a corrupted toast table
Дата
Msg-id 018DB755-3BD7-4133-B5C9-FB9B833F07D0@blighty.com
обсуждение исходный текст
Ответ на Re: Fixing up a corrupted toast table  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Fixing up a corrupted toast table  (Steve Atkins <steve@blighty.com>)
Список pgsql-general
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
>
>> I'd like to make the current problem go away, though, perhaps by
>> deleting the relevant row in the element table. I'm not quite sure
>> how
>> to go about that, though. Could anyone point me in the right
>> direction?
>
> First thing you should try is REINDEXing the toast table.  (I think in
> 7.4, reindexing the owning table will do this too; try that if reindex
> won't let you hit the toast table directly.)

Yes, forgot to mention I'd already tried that. Sorry.

>
> 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!

Cheers,
   Steve

В списке pgsql-general по дате отправления:

Предыдущее
От: Adam Alkins
Дата:
Сообщение: Btrieve to SQL
Следующее
От: "Joshua D. Drake"
Дата:
Сообщение: Re: Btrieve to SQL