Olivier Hubaut <[EMAIL PROTECTED]> writes:Once again, thanks for your help
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
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