Search Postgresql Archives

Re: Invalid Page Header Error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Denis BUCHER wrote:
> Hello,
> 
> We had a server crash and when restarting postgres it works, except some
> "Invalid Page Header Error" :

Data corrupted on disk. Either:
1. You have bad hardware
2. You have disks lying about fsync
3. You have fsync turned off.

> I already try VACUUM / FULL / ANALYSE but same error
> 
> Even when doing a pg_dumpall, we have this problem.

Yes - a disk-block ("page") on disk has invalid pointers ("header").

> I read a lot of formus, but never a clear solution, what could we do to
> solve this problem ? (Except from taking the previous backups ?)

If you can restore from a backup, do that.

> If we loose data it's not a problem, I just want to know how postgres
> can clean himself again...

You might well be able to dump tables individually, apart from the one
that's corrupted. You can usually select out rows apart from those that
are corrupted. There's no easy way to identify all corrupted rows
without reading them. There's no guarantee that rows might be corrupted
in a way you don't notice at first.

There's no tool to fix these problems, because there's no simple pattern
to them if you have hardware failure. Even if there was, you could never
trust the data without comparing it to a backup.

So - make sure your last backup restores OK. Check your hardware works.
Make sure you have fsync turned on and your disks are syncing when they
say they do.

-- 
  Richard Huxton
  Archonet Ltd

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux