Re: org.postgresql.util.PSQLException: ERROR: invalid page header in block 5869177 of relation base/17291/17420

From: Marcel Ruff <mr(at)marcelruff(dot)info>
To: pgsql-novice(at)postgresql(dot)org
Subject: Re: org.postgresql.util.PSQLException: ERROR: invalid page header in block 5869177 of relation base/17291/17420
Date: 2013-03-18 18:02:52
Message-ID: 514756CC.2090703@marcelruff.info
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

I have given up hope to recover the lost data and have activated:

zero_damaged_pages = on

in postgresql.conf and restarted postgres.
See: http://www.postgresql.org/docs/9.2/static/runtime-config-developer.html

Before that, I had tried in psql>

SET zero_damaged_pages = on;
VACUUM FULL location;
WARNING: invalid page header in block 5869177 of relation base/17291/17420; zeroing out page
REINDEX TABLE location;
WARNING: invalid page header in block 5869177 of relation base/17291/17420; zeroing out page

but this blocked the complete table and took too long time (the server is productive)
so I stopped this with Ctrl-C (and the "zeroing out page" was then not done).

But now I can backup the DB again:

pg_dump custdb > custdb-2013-03-18.dump
pg_dump: WARNING: invalid page header in block 5869177 of relation base/17291/17420; zeroing out page

works fine (and probably has some data lost, which I don't know yet)

What I wonder is that the WARNING comes again all the time
I would have expected once the block is zero out, the warning diappears.

regards
Marcel

Am 18.03.2013 12:11, schrieb Marcel Ruff:
> Hi,
>
> I use
> psql (PostgreSQL) 9.2.2
> postgresql-9.2-1002.jdbc4.jar
> java version "1.7.0_17" 64-Bit Server VM
>
> on
> Linux 3.4.28-2.20-default
>
> with SSD
> Intel 520 Series SSDs
> smartctl -a /dev/sdc1 does not show me errors (afaik)
>
> and get this error:
> org.postgresql.util.PSQLException: ERROR: invalid page header in block 5869177 of relation
> base/17291/17420
>
> I believe it is a kernel or HD problem and
> my idea was to dump the data and install it on another HD:
>
> pg_dump custdb > custdb-2013-03-18.dump
> pg_dump: Dumping the contents of table "location" failed: PQgetResult() failed.
> pg_dump: Error message from server: ERROR: invalid page header in block 5869177 of relation
> base/17291/17420
> pg_dump: The command was: COPY public.location (xxx) TO stdout;
>
> I looks like that the dump stops.
> What can I do to convince the dump to continue?
> After migrating to another HD I could try to reimport lost data from log files etc.
>
> What is the reason for this error?
> What options do I have?
>
> Thank you
> Marcel
>
>
>
>

In response to

Browse pgsql-novice by date

  From Date Subject
Next Message Birchall, Austen 2013-03-19 11:39:30 Roles and passwds
Previous Message Marcel Ruff 2013-03-18 11:11:49 org.postgresql.util.PSQLException: ERROR: invalid page header in block 5869177 of relation base/17291/17420