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

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to