pgsql: Set max_safe_fds whenever we create shared memory and semaphores

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Set max_safe_fds whenever we create shared memory and semaphores
Date: 2024-12-17 17:23:35
Message-ID: E1tNbIF-000453-7l@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Set max_safe_fds whenever we create shared memory and semaphores.

Formerly we skipped this in bootstrap/check mode and in single-user
mode. That's bad in check mode because it may allow accepting a
value of max_connections that doesn't actually work: on platforms
where semaphores consume file descriptors, there may not be enough
free FDs left over to satisfy fd.c, causing postmaster start to
fail. It's also not great in single-user mode, because fd.c will
operate with just the minimum allowable value of max_safe_fds,
resulting in excess file open/close overhead if anything moderately
complicated is done in single-user mode. (There may be some penalty
for bootstrap mode too, though probably not much.)

Discussion: https://postgr.es/m/2081982.1734393311@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/21fb39cb07938d29f2c7cfcf627d1b3d6b48e61c

Modified Files
--------------
src/backend/bootstrap/bootstrap.c | 6 ++++++
src/backend/tcop/postgres.c | 10 ++++++++++
2 files changed, 16 insertions(+)

Browse pgsql-committers by date

  From Date Subject
Next Message Melanie Plageman 2024-12-17 19:21:18 pgsql: Count pages set all-visible and all-frozen in VM during vacuum
Previous Message Tomas Vondra 2024-12-17 16:53:48 pgsql: Detect version mismatch in brin_page_items