max_files_per_process ignored on Windows

From: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
To: PostgreSQL-development <pgsql-hackers(at)postgreSQL(dot)org>
Cc: Magnus Hagander <magnus(at)hagander(dot)net>
Subject: max_files_per_process ignored on Windows
Date: 2012-03-28 16:12:28
Message-ID: 4F73386C.7050005@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

At postmaster startup, we determine the maximum number of open files we
can handle by trying to open a lot of file descriptors, up to
max_files_per_process. This is done in set_max_safe_fds(), and the
determined max_safe_fds value is inherited by child processes at fork().
However, with EXEC_BACKEND, ie. Windows, it's not inherited, so we
always run with the initial conservative default of 32.

An obvious fix would be to call set_max_safe_fds() in the child
processes, although I wonder if that's too expensive. Another option is
to pass down the value with save_restore_backend_variables().

Thoughts? Although this has apparently always been like this, no-one has
complained, so I'm thinking that we shouldn't backport this.

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jaime Casanova 2012-03-28 16:13:34 Re: Review of pg_archivecleanup -x option patch
Previous Message Dimitri Fontaine 2012-03-28 16:11:32 Re: Finer Extension dependencies