Hello,
we have (maybe due to temporary Disk Array HW failure, which occurred on
the same day the pg_dump started to complain - array is now successfully
rebuilt) problem with consistency of pg_catalog.pg_type table.
pg_dumpall command gives following message:
pg_dump: SQL command failed
pg_dump: Error message from server: ERROR: invalid page header in block
29
of relation "pg_type"
pg_dump: The command was: SELECT tableoid, oid, typname, typnamespace,
(SELECT rolname FROM pg_catalog.pg_roles WHERE oid = typowner) as rolname,
typinput::oid as typinput, typoutput::oid as typoutput, typelem, typrelid,
CASE WHEN typrelid = 0 THEN ' '::"char" ELSE (SELECT relkind FROM pg_class
WHERE oid = typrelid) END as typrelkind, typtype, typisdefined FROM
pg_type
pg_dumpall: pg_dump failed on database "isdb", exiting
and exits, so we are not able to make fresh backup and recover the
database.
The same error (ERROR: invalid page header in block 29 of relation
"pg_type") give commands VACUUM, REINDEX on the table pg_catalog.pg_type.
I'm afraid of performing any tests, restarting the service, because
it is running production database and due to the inability of backing it
up we have only week old dump.
The service acts as there was no problem (INSERT, SELECT, DROP, CREATE,
ALTER TABLE works normally), only the dump and vacuum complains.
There was one damaged file (fortunetely belonging to an empty regular
table) in the $PGDATA/base/ directory, which caused I/O error, while
reading. After drop and create of the table, the partition with $PGDATA
seems error-free.
We run PostgreSQL 8.1.5 on CentOS release 3.8, 2.4.21-47.EL kernel,
x86_64 architecture.
Thanks for any advice
Best regards,
Filip Krska
--
ComSTAR spol. s r. o.
Třebohostická 14
100 31 Praha 10
HotLine (pev.): 261 305 432
HotLine (mob.): 777 343 857