Hello,
Thanks for the reply.

On Fri, Jul 31, 2009 at 5:24 PM, Greg Stark <gsst...@mit.edu> wrote:

> > I tried this, and might have exposed another issue.
> > Now I am getting:
> > ERROR: could not access status of transaction 3839923882
> > DETAIL: could not open file "pg_clog/0E4E": No such file or directory.
> > I checked the pg_clog folder, and there is only a 0000 file.
>
> How long has this database been in use? That's a very high transaction
> number that would only be reached on a heavily used database after a
> reasonably long period of use. If that's not likely than a likely
> possibility is that your table has been overwritten with garbage.
> Possibly by a filesystem bug or hardware failure.
>

Not really that long.  The database was created in early June, and if that
is supposed to be a transaction count (3839923882), then yeah that seems way
out there.


>
> You can work around this problem for that row by creating a file named
> 0E4E in the clog directory. I think you can fill it with zeros but if
> you search the mailing list you'll find instructions for doing this
> that are might have better suggestions.
>

When you say fill it with zeros, is there a certain file size I need to
create?
(I will do some more googling to see if I can find more examples of people
recovering from this problem)


>
> You'll still be best off recovering rows one by one. If you have
> trouble using the index you might find it more reliable (but more
> tedious) to do it using:
>
> select * from tab where ctid = '(0,0)'
> select * from tab where ctid = '(0,1)'
> select * from tab where ctid = '(0,2)'
> ...
>
> The first digit is the page number and the second is the index on the
> page which can go as high as about 250.
>

I am sorry, that is a little over my head with my knowledge gained with PG
thus far.
Is there some background information I could read that would explain this to
me?

I tried that select a couple of times, and eventually got the "invalid page
header in the block 984 of relation "pg_toast_17431_index" error message
again.   ctid = '(0,6)' gave it to me.
(Although, I don't know what I am doing here! :)


Thanks again for the reply, your help is appreciated!
Michael.

Reply via email to