Postgres: PANIC: WAL contains references to invalid pages

From: Henley Wing <henley(dot)chiu(at)gmail(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: Postgres: PANIC: WAL contains references to invalid pages
Date: 2013-11-10 22:43:50
Message-ID: CABCJswX-5i6=z7fM5m4gV8K4UkeAH9yKLuKYNy85i-2_vL4XnA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hi guys,

I have a slave database that is being replicated from a Master DB (through
rsync).

All of a sudden, my slave DB just exited and wasn't able to restart. Here
are the error messages when it exits. Similar ones appear when I restart:

WARNING: page 21561636 of relation base/16384/54391 is uninitialized
CONTEXT: xlog redo visible: rel 1663/16384/54391; blk 21561636
PANIC: WAL contains references to invalid pages
CONTEXT: xlog redo visible: rel 1663/16384/54391; blk 21561636
LOG: startup process (PID 1573) was terminated by signal 6: Aborted
LOG: terminating any other active server processes

Both slave and master are using *Postgres 9.2.3* in a *Centos 5* quad-core
server with 32 GB of RAM each.

When I try to restart the slave, with "zero_damaged_pages=true", the server
still refuses to start with lines like the ones above. The master is still
running and isn't corrupt at all.

At this point, I don't care if the slave ever starts as I can start from
scratch. But is this an issue with Postgres? Has anyone encountered this
and is it fixed in future versions?

I've searched the mailing list and forums. I found vague references to this
problem, but seem to get the impression these issues were fixed in prior
versions of Postgres.

I have the files of the corrupt slave all intact, so if there's anything
you guys need to see in order to dig into this issue, let me know.

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Andres Freund 2013-11-10 22:49:56 Re: Postgres: PANIC: WAL contains references to invalid pages
Previous Message Andres Freund 2013-11-10 22:11:59 Re: Re: [BUGS] BUG #7873: pg_restore --clean tries to drop tables that don't exist