Re: How to recover when can't start database

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Colin E(dot) Freas" <cef6(at)georgetown(dot)edu>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: How to recover when can't start database
Date: 2005-06-10 16:34:15
Message-ID: 23357.1118421255@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

"Colin E. Freas" <cef6(at)georgetown(dot)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.

regards, tom lane

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Bruno G. Albuquerque 2005-06-10 16:42:31 Re: Indexes getting corrupted.
Previous Message Lee Wu 2005-06-10 16:33:57 Re: select * and save into a text file failed