Re: Why corruption memory in one database affects all the cluster?

From: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
To: Ru Devel <rudevel(at)gmail(dot)com>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Why corruption memory in one database affects all the cluster?
Date: 2014-07-14 22:42:51
Message-ID: CAMkU=1yD0XkBihx+Hna9R=F-APqv=BfZQcoqX82sZuVa1PaeGQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Mon, Jul 14, 2014 at 1:20 PM, Jeff Janes <jeff(dot)janes(at)gmail(dot)com> wrote:

> On Sun, Jul 13, 2014 at 12:07 PM, Ru Devel <rudevel(at)gmail(dot)com> wrote:
>
>> Hello,
>>
>> I have postgres 9.3.4 running on linux, and ~20 databases in the cluster.
>>
>> All the cluster was migrated from 9.2 using pg_upgradecluster.
>>
>> After migration autovacuum started to fail in one database, causing
>> entire cluster crashes:
>>
>>
>> 2014-07-13 21:16:24 MSK [5665]: [1-1] db=,user= PANIC: corrupted item
>> pointer: offset = 5292, size = 24
>> 2014-07-13 21:16:24 MSK [29131]: [417-1] db=,user= LOG: server process
>> (PID 5665) was terminated by signal 6: Aborted
>> 2014-07-13 21:16:24 MSK [29131]: [418-1] db=,user= DETAIL: Failed
>> process was running: autovacuum: VACUUM public.postfix_stat0 (to prevent
>> wraparound)
>>
>>

> If your top concern is getting all the other databases back as soon as
> possible, you should be able to just drop the corrupted database (after
> making a full backup). Then you can worry about recovering that database
> and rejoining it at your leisure.
>

Actually It looks like just doing a "REINDEX TABLE public.postfix_stat0"
could get you back and running again, assuming the corruption hadn't spread
from its origin to other places.

Cheers,

Jeff

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Jerry Sievers 2014-07-14 23:23:37 Re: Quering complete PLPGSQL code
Previous Message Néstor Boscán 2014-07-14 22:33:00 Quering complete PLPGSQL code