One of my customers has a corrupt postgreSQL system database. The error he's getting is:
template1=# select * from pg_database; ERROR: invalid page header in block 1 of relation "pg_database"
This happens at any point where postgres is trying to access the database catalog, not for invididual db access but (for example) trying to create / drop any databases.
I can't help him as I know nearly nothing about Postgres (although its about time I learnt).