Обсуждение: Corruption in postgres 7.4 on solaris 2.9.
I am running postgres 7.4 and solaris 2.9 and I fear I have a corruption. The database runs fine for a while and then a command will receive the following: psql: FATAL: xlog flush request 8/20D70938 is not satisfied -- flushed only to 6/FDBA6540 CONTEXT: writing block 180816 of relation 17143/17477 This occurs many times with the "flushed only to" value never changing. Eventually the server must be restarted. I tried using the pgfsck tool and get the following: -- Detected database format 7.4 -- Loading pg_class structure -- Scanning table pg_class (1259) -- Table pg_class(1259):Page 0: Incorrect value in header (incorrect blocksize?) -- 00 00 00 00 00 66 A6 70 00 00 00 0B 00 E4 01 50 20 00 20 01 -- Table pg_class(1259):Page 0: Incorrect value in header (incorrect blocksize?) -- 00 00 00 00 00 66 D9 F0 00 00 00 0B 00 E4 01 90 20 00 20 01 -- Table pg_class(1259):Page 0: Incorrect value in header (incorrect blocksize?) -- 00 00 00 00 00 67 6D F0 00 00 00 0B 00 E0 01 90 20 00 20 01 -- Table pg_class(1259):Page 0: Incorrect value in header (incorrect blocksize?) -- 00 00 00 00 00 67 B4 A0 00 00 00 0B 00 D4 02 B0 20 00 20 01 Couldn't find class 'pg_attribute' I believe the block size is 8192 and I have tried others to no avail. Is there a way to determine the corrupt area and removeit? I have read pg_filedump can help but I have not been able to find a Solaris version. Gary
On Tue, Dec 2, 2008 at 2:46 PM, Gary Schlachter <Gary.Schlachter@tavve.com> wrote: > I am running postgres 7.4 and solaris 2.9 and I fear I have a corruption. > The database runs fine for a while and then a command will receive the > following: 7.4.what? A lot of older 7,4 versions had known data corrupting bugs in them. Maybe you're running one of them? -- When fascism comes to America, it will be draped in a flag and carrying a cross - Sinclair Lewis
Straight 7.4. No dot release. I do not doubt this could be a problem within the version I am using. However, I am looking for a way to correct/recover the database.
Scott Marlowe wrote:
Scott Marlowe wrote:
On Tue, Dec 2, 2008 at 2:46 PM, Gary Schlachter <Gary.Schlachter@tavve.com> wrote:I am running postgres 7.4 and solaris 2.9 and I fear I have a corruption.The database runs fine for a while and then a command will receive the following:7.4.what? A lot of older 7,4 versions had known data corrupting bugs in them. Maybe you're running one of them? -- When fascism comes to America, it will be draped in a flag and carrying a cross - Sinclair Lewis
Gary Schlachter escribió: > Straight 7.4. No dot release. I do not doubt this could be a > problem within the version I am using. However, I am looking for a way > to correct/recover the database. Update to 7.4.latest, and _then_ try to start the database. -- Alvaro Herrera http://www.CommandPrompt.com/ PostgreSQL Replication, Consulting, Custom Development, 24x7 support
On Wed, Dec 3, 2008 at 6:25 AM, Gary Schlachter <Gary.Schlachter@tavve.com> wrote: > Straight 7.4. No dot release. I do not doubt this could be a problem > within the version I am using. However, I am looking for a way to > correct/recover the database. Wow. you really need to update to the latest 7.4.x release, that's years and years of bug fixes, many of which are known to cause data loss or corruption.