v11-0002-Reflect-the-value-of-max_safe_fds-in-max_files_p.patch
text/x-patch
Filename: v11-0002-Reflect-the-value-of-max_safe_fds-in-max_files_p.patch
Type: text/x-patch
Part: 1
Patch
Format: format-patch
Series: patch v11-0002
Subject: Reflect the value of max_safe_fds in max_files_per_process
| File | + | − |
|---|---|---|
| src/backend/storage/file/fd.c | 11 | 0 |
From 81cde40fbb851f1450f55d15abae94be657b930c Mon Sep 17 00:00:00 2001
From: Jelte Fennema-Nio <postgres@jeltef.nl>
Date: Sun, 7 Dec 2025 15:06:54 +0100
Subject: [PATCH v11 2/2] Reflect the value of max_safe_fds in
max_files_per_process
It is currently hard to figure out if max_safe_fds is significantly
lower than max_files_per_process. This starts reflecting the value of
max_safe_fds in max_files_per_process after our limit detection. We
still want to have two separate variables because for the bootstrap or
standalone-backend cases their values differ on purpose.
---
src/backend/storage/file/fd.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/src/backend/storage/file/fd.c b/src/backend/storage/file/fd.c
index b35f2f36430..b1b898c1b4d 100644
--- a/src/backend/storage/file/fd.c
+++ b/src/backend/storage/file/fd.c
@@ -1183,6 +1183,7 @@ set_max_safe_fds(void)
{
int usable_fds;
int already_open;
+ char *max_safe_fds_string;
/*----------
* We want to set max_safe_fds to
@@ -1198,6 +1199,16 @@ set_max_safe_fds(void)
max_safe_fds = Min(usable_fds, max_files_per_process);
+ /*
+ * Update GUC variable to allow users to see if the result is different
+ * than what the used value turns out to be different than what they had
+ * configured.
+ */
+ max_safe_fds_string = psprintf("%d", max_safe_fds);
+ SetConfigOption("max_files_per_process", max_safe_fds_string,
+ PGC_POSTMASTER, PGC_S_OVERRIDE);
+ pfree(max_safe_fds_string);
+
/*
* Take off the FDs reserved for system() etc.
*/
--
2.54.0