Drew Whittle <drew@albatross.co.nz> writes:
> I have two other db's that are 100% identical in everything but name and
> data. (ie same structure etc), is it possible to use one of that data
> files in them to over write the buggered file and fix the pg_proc error?
You could try that, but unless the db's also have identical history (in
the sense of the same set of transaction numbers that committed) it's
unlikely to work. I think your problem is not that pg_class is buggered
per se, so much as that you did not have correct pg_clog data to match it.
The data files and the log files are an interlocking whole, you can't
just plug in one part at random.
> Any other suggestions that might get the data back or should I just
> forget it and tell them to key it again?
If you did extract something from this mess, how much could you trust
it? Not a lot, because the bad-clog problem will affect visibility of
rows in the user tables too.
I'm afraid you're screwed :-(. Maybe you could learn something about
proper backup procedures though. The backup you have obviously didn't
work well --- how did you take it exactly?
regards, tom lane