Re: Corrupted index, what do i do?ruc

From: Craig Ringer <ringerc(at)ringerc(dot)id(dot)au>
To: eshishki <itparanoia(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Corrupted index, what do i do?ruc
Date: 2012-01-13 06:16:55
Message-ID: 4F0FCC57.50508@ringerc.id.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 12/01/2012 9:08 PM, eshishki wrote:
> 14:01:59 MSK,,0,FATAL,XX002,"index ""1339592"" contains unexpected
> zero page at block 328134",,"Please REINDEX it.",,,,,,,""
> 2012-01-12 14:02:00.042 MSK,,,5642,,4f0eaf97.160a,1,,2012-01-12
> 14:01:59 MSK,,0,LOG,00000,"startup process (PID 5644) exited with exit
> code 1",,,,,,,,,""
> 2012-01-12 14:02:00.042 MSK,,,5642,,4f0eaf97.160a,2,,2012-01-12
> 14:01:59 MSK,,0,LOG,00000,"aborting startup due to startup process
> failure",,,,,,,,,""
>
> My question is corrupted index, not transaction rollbacks.
> How can i rebuild index if db aint start?

Since you were running with fsync off, you must have had good backups or
replication configured, because the documentation warns you that running
with fsync=off will probably destroy your data and is only for expert users.

In case you don't have a current replica or backup: first, before you do
ANYTHING ELSE follow the instructions here:

http://wiki.postgresql.org/wiki/Corruption

Now - **AFTER** following the instructions above - start the database in
single user recovery mode. See:

http://www.postgresql.org/docs/current/static/app-postgres.html

where the "--single" command line argument for the "postgres" executable
is documented.

Once you have a single user mode backend running you can REINDEX then
shut the backend down, start back up in multi-user mode, and see if you
have any luck.

> I was running with fsync off, how postgresql behave about index
> consistency with fsync on?
Indexes will always be consistent when fsync is on.

You were running in a mode that says "be fast even if you eat my data".
It ate your data. If you don't tell it to, it won't.

--
Craig Ringer

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Craig Ringer 2012-01-13 06:27:12 Re: Operator based on data type
Previous Message Adrian Klaver 2012-01-13 04:27:54 Re: ownership of sequences by tables in pg_dumps?