Re: pg_clog corrupt, can't start postgres - Mailing list pgsql-admin

From Tom Lane
Subject Re: pg_clog corrupt, can't start postgres
Date
Msg-id 632.1109004126@sss.pgh.pa.us
Whole thread Raw
In response to pg_clog corrupt, can't start postgres  ("Anjan Dave" <adave@vantage.com>)
List pgsql-admin
"Anjan Dave" <adave@vantage.com> writes:
> The partition ran out of space from an import process. I cleared up the space and attempted to start the postgres
serviceagain, but it doesn't start and i get following in the message log. 
> PANIC:  could not access status of transaction 45514755
> DETAIL:  could not read from file "/var/lib/pgsql/data/pg_clog/002B" at offset 106496: Success
> LOG:  startup process (PID 23991) was terminated by signal 6
> LOG:  aborting startup due to startup process failure

> Postgres is 7.4.1 on this machine.

> I saw some previous posts on this subject and so far the solution seems to be initialize and restore databases from
thedumps. 

Before that, try updating to 7.4.7 (or at least 7.4.2) --- this looks
like the same bug fixed here:

2004-01-26 14:16  tgl

    * src/backend/access/transam/varsup.c (REL7_4_STABLE): Repair
    incorrect order of operations in GetNewTransactionId().  We must
    complete ExtendCLOG() before advancing nextXid, so that if that
    routine fails, the next incoming transaction will try it again.
    Per trouble report from Christopher Kings-Lynne.

You might also go back to the mail list archives from that time and see
what advice was given to Chris about getting out of the problem he found
himself in.  I *think* that something along the line of forcibly
appending a page of zeroes to that clog file might be the best solution,
but this was more than a year ago and I don't recall for sure.

            regards, tom lane

pgsql-admin by date:

Previous
From: Tom Lane
Date:
Subject: Re: Having problem with postgresql configuration (template1 doesn't
Next
From: "Anjan Dave"
Date:
Subject: Re: pg_clog corrupt, can't start postgres