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 remove it? I have read pg_filedump can help but I have not been able to find a Solaris version.
Gary
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general