"Rob Owen" <Rob.Owen@sas.com> writes:
> Breakpoint 1, 0x00000001000019dc in errfinish () from postmaster
> (gdb) bt
> #0 0x00000001000019dc in errfinish () from postmaster
> #1 0x000000010000a680 in AllocSetAlloc () from postmaster
> #2 0x0000000100002a1c in MemoryContextAlloc () from postmaster
> #3 0x0000000100108c28 in _bt_search () from postmaster
> #4 0x0000000100106484 in _bt_first () from postmaster
> #5 0x00000001001045b4 in btgettuple () from postmaster
> #6 0x0000000100029fb0 in FunctionCall2 () from postmaster
> #7 0x00000001000295f8 in index_getnext () from postmaster
> #8 0x000000010002942c in systable_getnext () from postmaster
> #9 0x000000010000f9a0 in ScanPgRelation () from postmaster
> #10 0x0000000100011088 in RelationBuildDesc () from postmaster
> #11 0x000000010000e6fc in RelationSysNameGetRelation () from postmaster
I think you are in luck: this looks like the corrupted data is in one of
the indexes on pg_class, so you should be able to recover by reindexing.
See the man page for REINDEX for the gory details of doing this (you
need the "ignore system indexes" option, and maybe some other pushups
depending on your Postgres version).
regards, tom lane