From: | Steve Atkins <steve(at)blighty(dot)com> |
---|---|
To: | pgsql general <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Fixing up a corrupted toast table |
Date: | 2006-03-09 01:25:57 |
Message-ID: | AD87E093-0AAA-429C-8F32-1F0AAC94A04B@blighty.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Mar 8, 2006, at 3:07 PM, Tom Lane wrote:
> Steve Atkins <steve(at)blighty(dot)com> writes:
>>>> 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).
>
>> Any attempt to touch the toast table gives me:
>> ERROR: cannot change TOAST relation "pg_toast_17410"
>
> Ugh. Maybe we should allow superusers to do that? Or is it too
> much of
> a foot-gun?
It turns out that you don't need to do this to delete bad rows once
you've found the ctid, so it's not relevant here.
>> 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?
>
> Offhand I think this would work, but suggest trying it in a scratch
> database first ...
Seems to work. I'm just using it to replicate the damage in a test
database.
(For the archives - I have a perl script to find the ctid of damaged
rows reliably and remove them that works on the test database.
We'll see if it works in production.)
Cheers,
Steve
From | Date | Subject | |
---|---|---|---|
Next Message | Noel Faux | 2006-03-09 01:29:17 | Re: Data corruption zero a file - help!! |
Previous Message | Enrique Snchez | 2006-03-09 00:44:48 | null timestamp |