From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | "Shea,Dan [CIS]" <Dan(dot)Shea(at)ec(dot)gc(dot)ca> |
Cc: | pgsql-performance(at)postgresql(dot)org |
Subject: | Re: after using pg_resetxlog, db lost |
Date: | 2004-06-24 16:33:41 |
Message-ID: | 15230.1088094821@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
"Shea,Dan [CIS]" <Dan(dot)Shea(at)ec(dot)gc(dot)ca> writes:
> I determined the largest was 12,293,162 and set it to
> pg_resetxlog -x 15000000 /var/lib/pgsql/data
Okay, but it looks like you will also need to adjust pg_clog to cover
that transaction ID range. (I had thought pg_resetxlog would handle
this for you, but it looks like not.)
> Jun 24 15:02:05 murphy postgres[28061]: [11-1] PANIC: could not access status of transaction 15000030
> Jun 24 15:02:05 murphy postgres[28061]: [11-2] DETAIL: could not read from file "/var/lib/pgsql/data/pg_clog/000E" at offset 73728: Success
You need to append zeroes (8K at a time) to
/var/lib/pgsql/data/pg_clog/000E until it's longer than 73728 bytes.
I'd use something like
dd bs=8k count=1 </dev/zero >>/var/lib/pgsql/data/pg_clog/000E
assuming that your system has /dev/zero.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Shea,Dan [CIS] | 2004-06-24 17:17:13 | Re: after using pg_resetxlog, db lost |
Previous Message | Shea,Dan [CIS] | 2004-06-24 16:14:54 | Re: after using pg_resetxlog, db lost |