Re: How to recover when can't start database - Mailing list pgsql-admin

From Alvaro Herrera
Subject Re: How to recover when can't start database
Date
Msg-id 20050615205232.GA12535@surnet.cl
Whole thread Raw
In response to Re: How to recover when can't start database  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-admin
On Fri, Jun 10, 2005 at 12:34:15PM -0400, Tom Lane wrote:
> "Colin E. Freas" <cef6@georgetown.edu> writes:
> > 2005-06-07 16:02:38 EDTLOG:  statement: update pg_class set
> > reltriggers=foo.c from (select relname,count(tgrelid) as c from
> > pg_class,pg_trigger where pg_class.oid=tgrelid and relnamespace=2200
> > group by relname) foo;
>
> I'm afraid that database is toast :-(.  You managed to overwrite
> reltriggers in every row of pg_class, including all the system
> catalogs, including some that absolutely positively cannot have
> triggers ... like pg_trigger for instance.
>
> -> try to open pg_class
>    ... hmm, it says it has triggers
>    -> try to open pg_trigger to read triggers
>       ... hmm, it says it has triggers
>       -> try to open pg_trigger to read triggers
>          ... hmm, it says it has triggers
>          -> try to open pg_trigger to read triggers
>
> ... recurse until out of stack space.

IIRC Joe Conway had this problem some time ago, and he managed to get
out of it.  I don't recall details, maybe searching the archives ...

--
Alvaro Herrera (<alvherre[a]surnet.cl>)
"El hombre nunca sabe de lo que es capaz hasta que lo intenta" (C. Dickens)

pgsql-admin by date:

Previous
From: David Pratt
Date:
Subject: Advice on structure /sequence / trigger
Next
From: David
Date:
Subject: Re: Connecting via localhost pg-8.0.3