Re: How to simulate crashes of PostgreSQL?

From: Vick Khera <vivek(at)khera(dot)org>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: How to simulate crashes of PostgreSQL?
Date: 2009-08-25 18:02:26
Message-ID: 2968dfd60908251102g2dc2209ak5c71d1c229ae6892@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, Aug 25, 2009 at 1:09 PM, Alvaro
Herrera<alvherre(at)commandprompt(dot)com> wrote:
> Vick Khera wrote:
>> On Sat, Aug 22, 2009 at 6:55 PM, Greg Sabino Mullane<greg(at)turnstep(dot)com> wrote:
>> > A server crash is a pretty rare event in the Postgres world, so I
>> > would not spend too many cycles on this...
>>
>> I had one the other day caused by server resource issues: I ran out of
>> file descriptors when I had a very large surge in activity.  Pg
>> rightfully panicked and disconnected all my clients.
>
> PG is not supposed to crash when it runs out of file descriptors.  In
> fact there's a whole abstraction layer to ensure this does not happen.
> What you saw was either misconfiguration or a bug somewhere (for example
> maybe you have untrusted functions that try to open files?)

From my syslog:

Aug 21 15:11:13 d01 postgres[12037]: [156-1] PANIC: could not open
file "pg_xlog/00000001000013E300000014" (log file 5091, segment 20):
Too many open files in system

Then all other processes did this:

Aug 21 15:11:15 d01 postgres[38452]: [71-1] WARNING: terminating
connection because of crash of another server process

Then recovery began. Luckily it only took 3 minutes because I limit
the number of log segments when in production mode.

Seems to me to be a part of the core server that caused the panic, not
any external functions (only external modules I use are pl/pgsql and
slony1).

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2009-08-25 18:07:16 Re: How to simulate crashes of PostgreSQL?
Previous Message Michael Brown 2009-08-25 17:12:05 PL/pgSQL infinite loop in "UPDATE/INSERT" example