Re: How to recover when can't start database - Mailing list pgsql-admin
From | Colin E. Freas |
---|---|
Subject | Re: How to recover when can't start database |
Date | |
Msg-id | 42A9B2B9.80907@georgetown.edu Whole thread Raw |
In response to | How to recover when can't start database ("L.Boldareva" <pg@pierro.dds.nl>) |
Responses |
Re: How to recover when can't start database
|
List | pgsql-admin |
Sorry if this post winds up as a duplicate on the list... --- In an effort to disable all of the foreign key restraints on a set of tables in my installation of PostgreSQL 8.0.1, I was fiddling with the pg_class table and managed to elicit behavior similar to what L. Boldareva ran into. (This is Red Hat AS 4; Opteron w/4GB...) pg_ctl can start and stop my postmaster, but I can't use psql to access a database. When I try, I get this on the command line: --- psql: server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request. --- ...and this in the log: --- 2005-06-07 16:44:37 EDTLOG: connection received: host=[local] port= 2005-06-07 16:44:37 EDTLOG: connection authorized: user=postgres database=caarray 2005-06-07 16:44:43 EDTLOG: server process (PID 14278) was terminated by signal 11 2005-06-07 16:44:43 EDTLOG: terminating any other active server processes 2005-06-07 16:44:43 EDTLOG: all server processes terminated; reinitializing 2005-06-07 16:44:43 EDTLOG: database system was interrupted at 2005-06-07 16:34:46 EDT 2005-06-07 16:44:43 EDTLOG: checkpoint record is at 0/81F18770 2005-06-07 16:44:43 EDTLOG: redo record is at 0/81F18770; undo record is at 0/0; shutdown TRUE 2005-06-07 16:44:43 EDTLOG: next transaction ID: 6196113; next OID: 6226772 2005-06-07 16:44:43 EDTLOG: database system was not properly shut down; automatic recovery in progress 2005-06-07 16:44:43 EDTLOG: record with zero length at 0/81F187AC 2005-06-07 16:44:43 EDTLOG: redo is not required 2005-06-07 16:44:43 EDTLOG: database system is ready --- I think I know exactly what caused this. Postmaster seemed to crash after I ran these two updates on pg_class: --- 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; 2005-06-07 16:03:21 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 where pg_class.relnamespace=2200; 2005-06-07 16:03:22 EDTLOG: connection received: host=[local] port= 2005-06-07 16:03:22 EDTLOG: connection authorized: user=postgres database=caarray 2005-06-07 16:03:22 EDTLOG: server process (PID 12845) was terminated by signal 11 2005-06-07 16:03:22 EDTLOG: terminating any other active server processes --- If I can't ever get this database back up and running, it's no big deal... this isn't something in production, and I wouldn't do this on a production machine. However, it would save me enough time to get this working that I'm trying this list. The only possible saving grace I seem to have is that immediately before I ran the updates, I made a copy of the pg_class table. So, if the only problem is the pg_class table, then I'm thinking I could just copy the valid data back in, and be more careful next time. But, right now, I can't even get the server to talk to me. Also, if there's an easier way to disable and re-enable the foreign key constraints, I'd certainly appreciate the tip as well. Any help appreciated. Colin Freas
pgsql-admin by date: