Re: ANALYZE crashes randomly

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Olivier Hubaut <olivier(at)scmbb(dot)ulb(dot)ac(dot)be>
Cc: PgSQL Admin <pgsql-admin(at)postgresql(dot)org>
Subject: Re: ANALYZE crashes randomly
Date: 2004-02-20 14:03:32
Message-ID: 27320.1077285812@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Olivier Hubaut <olivier(at)scmbb(dot)ulb(dot)ac(dot)be> writes:
>>> PANIC: could not open transaction-commit log directory
>>> (/usr/local/pgsql/annot/pg_clog): Too many open files

> But it's amazing to me that i had to reduce it so much as the postmaster
> is almost the only application running on this server.

Oh, wait, I bet you are running into the per-process open file limit not
the kernel limit. The per-process limit is usually pretty low on
Darwin, and checking the code I see

xldir = opendir(XLogDir);
if (xldir == NULL)
ereport(PANIC,
(errcode_for_file_access(),
errmsg("could not open transaction log directory \"%s\": %m",
XLogDir)));

That is, we don't have a fallback path to recover when the error is
ENFILE or EMFILE. Looks to me like all the opendir() calls in the
backend ought to be handled by fd.c with code to release other open
files at need.

In the meantime, though, it seems fishy that Postgres wouldn't have
detected and allowed for the per-process file limit. Which version of
OS X did you say you were using?

regards, tom lane

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Olivier Hubaut 2004-02-20 14:15:53 Re: ANALYZE crashes randomly
Previous Message Tom Lane 2004-02-20 13:55:09 Re: ANALYZE crashes randomly