"Mickey" <mickey@mcnjeni.com> writes:
>> FATAL 2: XLogFlush: request is not satisfied
It looks like you are suffering from a corrupted LSN value in the header
of one or more data pages. You didn't favor us with any mention of your
Postgres version, but from spelling of the error messages I venture that
it's 7.1.something. 7.1 is known not to be very robust in this
situation :-(.
What you need to do is extract whatever data you need (or can get
anyway) and then update to something more modern and reload the
database. You should really be on 7.2.4 or better 7.3.4.
Can you pg_dump successfully? If not, do you really need the data in
the members_ table, or can that be reconstructed from somewhere else?
If the latter, drop that table and try to dump again. If the former,
you'll have to resign yourself to some data loss, but you could
theoretically zero the damaged page(s) and still read the rest of the
table. The trouble is finding which pages are damaged --- 7.1 won't
give you a lot of help on that either :-(. Best bet I know of is to use
pg_filedump (http://sources.redhat.com/rhdb/) and look to see which
pages in the members_ file have headers that don't look like the other
pages.
Somewhere along here you should also give some thought to what it was
that got you into this situation. It'd not be a wise idea to assume
that it was a Postgres bug. (I'm not saying that it wasn't, mind you,
but several years later we still have not found any bugs that might
clobber page headers.) Before trying to put your database back in
production, I'd suggest looking for hardware problems (memtest86 and
badblocks are commonly used to test RAM and disk respectively). Also
see whether you shouldn't be using a more recent Linux kernel.
regards, tom lane