Thread: Re: ERROR: AllocSetFree: cannot find block containing c

Re: ERROR: AllocSetFree: cannot find block containing c

From
Edwin New
Date:

Tom,

Thanks for your response.

Select * from pg_class; works fine.  Can you suggest anything else?  I don't really understand what the error message means.

We are retiring this database over the next six months in favour of 7.4.2.  I need to get the data out of it.

Regards,

Edwin.

-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: Friday, 23 July 2004 12:32 PM
To: Edwin New
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] ERROR: AllocSetFree: cannot find block containing
chunk 507928

Edwin New <edwin_new@toll.com.au> writes:
> When I connect to this database with psql, and type \z to see a list of
> tables, I get the error
>       ERROR:  AllocSetFree: cannot find block containing chunk 507928

I'm guessing you have some sort of data-corruption problem in the system
catalogs, probably in pg_class.  Do you get a similar error if you say
"SELECT * FROM pg_class"?  If so, try to narrow down exactly which value
causes the problem --- for instance, try selecting one column at a time
to see which column the trouble is in.

> I am running 7.2.1 on Solaris 8.

Of course you know you should be running something newer ;-).  But a
quick look through the CVS logs does not reveal anything that looks
related in later 7.2.* fixes, so an in-place update probably won't
solve your immediate problem.

                        regards, tom lane