Matt Beauregard <matt@designscape.com.au> writes:
>>>> NOTICE: mdopen: couldn't open pg_user: No such file or directory
>>
>> This is strange in itself. There should be an (empty) file named
>> pg_user in your $PGDATA/base/template1 directory --- is there?
>> What about pg_views?
> Neither are there.
Hmm. *Something's* been tromping on your database, then. Hard to tell
what happened from the information at hand ... but I'll bet the
corrupted index on pg_class is related somehow.
Since these are only views, the datafiles underlying them would be empty
anyway --- so you can recreate the datafiles just by doing
"touch $PGDATA/base/template1/pg_user" etc.
You could probably rebuild the corrupted index using REINDEX. I haven't
had to do that myself so I'm not sure about the procedure.
I'd definitely recommend a full dump, initdb, restore once you have
things working well enough to allow a dump. Whatever happened here,
you probably haven't seen all the effects yet :-(
regards, tom lane