Thread: Need help with corrupt pg_statistic

Need help with corrupt pg_statistic

From
Kevin Seghetti
Date:
I am using postgres 7.4.5, and have a corrupt pg_statistic.
Many commands cause the following error:
ERROR:  invalid page header in block 10 of relation "pg_statistic"

I want to preserve my data if at all possible, I figured I would just
dump the database and reload it. I tried
pg_dump, but it gives me:
 pg_dump: query to obtain list of data types failed: ERROR:  invalid page header in block 11 of relation "pg_statistic"
even if I just try to dump a single table.

I tried postgres in single-user mode:
 delete from pg_statistic
gives me the same error
 drop table pg_statistic
gives me
 ERROR:  permission denied: "pg_statistic" is a system catalog

Is there any way to nuke pg_statistic (since its contents can be
recalculated anyway?)

Thanks,

--
Kevin Seghetti: E-Mail: kts@tenetti.org, HTTP: www.tenetti.org
GPG public key: http://tenetti.org/cgi-bin/twiki/view.cgi/KevinSeghetti/GPGKey
Check out www.worldfoundry.org for my GPL'ed 3D video game engine
Copyright is a temporary loan from the public domain, not property


Re: Need help with corrupt pg_statistic

From
Tom Lane
Date:
Kevin Seghetti <kts@tenetti.org> writes:
> Is there any way to nuke pg_statistic (since its contents can be
> recalculated anyway?)

You want to do "TRUNCATE pg_statistic"; to avoid the permission check,
you'll need to do that in a standalone backend with -O option.

Do *not* try to drop and recreate it --- its OID is hardwired into
various places.

            regards, tom lane

Re: Need help with corrupt pg_statistic

From
"Jim C. Nasby"
Date:
You should probably be asking yourself why you have corruption in your
database. I suspect whatever hardware that database is on is having
problems that need to be addressed.

On Thu, Sep 29, 2005 at 05:42:16PM -0700, Kevin Seghetti wrote:
> I am using postgres 7.4.5, and have a corrupt pg_statistic.
> Many commands cause the following error:
> ERROR:  invalid page header in block 10 of relation "pg_statistic"
>
> I want to preserve my data if at all possible, I figured I would just
> dump the database and reload it. I tried
> pg_dump, but it gives me:
>  pg_dump: query to obtain list of data types failed: ERROR:  invalid page header in block 11 of relation
"pg_statistic"
> even if I just try to dump a single table.
>
> I tried postgres in single-user mode:
>  delete from pg_statistic
> gives me the same error
>  drop table pg_statistic
> gives me
>  ERROR:  permission denied: "pg_statistic" is a system catalog
>
> Is there any way to nuke pg_statistic (since its contents can be
> recalculated anyway?)
>
> Thanks,
>
> --
> Kevin Seghetti: E-Mail: kts@tenetti.org, HTTP: www.tenetti.org
> GPG public key: http://tenetti.org/cgi-bin/twiki/view.cgi/KevinSeghetti/GPGKey
> Check out www.worldfoundry.org for my GPL'ed 3D video game engine
> Copyright is a temporary loan from the public domain, not property
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
>        subscribe-nomail command to majordomo@postgresql.org so that your
>        message can get through to the mailing list cleanly
>

--
Jim C. Nasby, Sr. Engineering Consultant      jnasby@pervasive.com
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461