Received: from localhost (wm.hub.org [200.46.204.128]) by postgresql.org (Postfix) with ESMTP id E1EAC9F946B for ; Thu, 16 Nov 2006 13:17:45 -0400 (AST) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.128]) (amavisd-new, port 10024) with ESMTP id 41022-04 for ; Thu, 16 Nov 2006 17:17:32 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey- Received: from 66-226-76-106.dedicated.abac.net (66-226-76-106.dedicated.abac.net [66.226.76.106]) by postgresql.org (Postfix) with ESMTP id 9903B9F9CCC for ; Thu, 16 Nov 2006 13:17:28 -0400 (AST) Received: (qmail 24658 invoked by uid 2020); 16 Nov 2006 10:18:23 -0800 Received: from wsip-70-167-125-69.sd.sd.cox.net (HELO ?192.168.0.3?) (70.167.125.69) by 66-226-76-106.dedicated.abac.net with (DHE-RSA-AES256-SHA encrypted) SMTP; 16 Nov 2006 10:18:23 -0800 Message-ID: <455C9CCA.7080804@modgraph-usa.com> Date: Thu, 16 Nov 2006 09:15:54 -0800 From: "Craig A. James" User-Agent: Thunderbird 1.5.0.8 (X11/20061025) MIME-Version: 1.0 To: Richard Huxton , Russell Smith , pgsql-performance@postgresql.org Subject: Re: Postgres server crash References: <20061023215913.GW26892@nasby.net> <20061025001709.GA26892@nasby.net> <453EF7C4.2040105@modgraph-usa.com> <455BCAE8.8010905@modgraph-usa.com> <455BCCCD.2020701@pws.com.au> <455C420D.8090209@archonet.com> In-Reply-To: <455C420D.8090209@archonet.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=3.819 tagged_above=0 required=5 tests=BAYES_50, HELO_DYNAMIC_IPADDR2 X-Spam-Level: *** X-Archive-Number: 200611/122 X-Sequence-Number: 21892 By the way, in spite of my questions and concerns, I was *very* impressed by the recovery process. I know it might seem like old hat to you guys to watch the WAL in action, and I know on a theoretical level it's supposed to work, but watching it recover 150 separate databases, and find and fix a couple of problems was very impressive. It gives me great confidence that I made the right choice to use Postgres. Richard Huxton wrote: >>> 2. Why didn't the database recover? Why are there two processes >>> that couldn't be killed? > > I'm guessing it didn't recover *because* there were two processes that > couldn't be killed. Responsibility for that falls to the > operating-system. I've seen it most often with faulty drivers or > hardware that's being communicated with/written to. However, see below. It can't be a coincidence that these were the only two processes in a SELECT operation. Does the server disable signals at critical points? I'd make a wild guess that this is some sort of deadlock problem -- these two servers have disabled signals for a critical section of SELECT, and are waiting for something from the postmaster, but postmaster is dead. This is an ordinary system, no hardware problems, stock RH FC3 kernel, stock PG 8.1.4, with 4 GB memory, and at the moment the database is running on a single SATA disk. I'm worried that a production server can get into a state that requires manual intervention to recover. Craig