Tom Lane wrote:

Olivier Hubaut <[EMAIL PROTECTED]> 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


Once again, thanks for your help

For the moment, we are running on OS X 10.2.8 but we'll change soon for OS X 10.3

--
Signature en cours de maintenance,
Veuillez patienter...

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
     subscribe-nomail command to [EMAIL PROTECTED] so that your
     message can get through to the mailing list cleanly

Reply via email to