Re: pg_clog corrupt, can't start postgres

From: "Anjan Dave" <adave(at)vantage(dot)com>
To: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: <pgsql-admin(at)postgresql(dot)org>
Subject: Re: pg_clog corrupt, can't start postgres
Date: 2005-02-21 17:44:50
Message-ID: 4BAFBB6B9CC46F41B2AD7D9F4BBAF785098823@vt-pe2550-001.vantage.vantage.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Tom,

You're the man!

I zeroed out the troubled pg_clog file and the db started up fine! Here's the link to the discussion, and a detailed explanation of the issue by Tom:
http://groups-beta.google.com/group/comp.databases.postgresql.hackers/browse_thread/thread/c97c853f640b9ac1/d6bc3c75eed6c2a4?q=could+not+access+status+of+transaction#d6bc3c75eed6c2a4

Tom, is the issue resolved after 7.4.1?

Thanks,
Anjan


-----Original Message-----
From: Tom Lane [mailto:tgl(at)sss(dot)pgh(dot)pa(dot)us]
Sent: Mon 2/21/2005 11:42 AM
To: Anjan Dave
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: [ADMIN] pg_clog corrupt, can't start postgres

"Anjan Dave" <adave(at)vantage(dot)com> writes:
> The partition ran out of space from an import process. I cleared up the space and attempted to start the postgres service again, 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 the dumps.

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

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Christopher Smith 2005-02-21 18:38:43 Emergency: ERROR: _mdfd_getrelnfd: cannot open relation TABLE_NAME: Input/output error
Previous Message Tom Lane 2005-02-21 16:42:06 Re: pg_clog corrupt, can't start postgres