pgbench: Increase RLIMIT_NOFILE if necessary
authorAndres Freund <andres@anarazel.de>
Thu, 20 Feb 2025 00:35:09 +0000 (19:35 -0500)
committerAndres Freund <andres@anarazel.de>
Thu, 20 Feb 2025 00:35:09 +0000 (19:35 -0500)
commitd38bab5edd60dbe6309512b6c8daea37ce579b70
tree62b5dd8ef05658e2952cc21f8253f667c02956aa
parent9b1cb58c5f2127ddc682778b486739059ea2479d
pgbench: Increase RLIMIT_NOFILE if necessary

pgbench already had code to check if the soft rlimit is too low for the
specified number of connections. If too low, it errored out, telling the user
to increase the limit.

However, we can do better: If the hard limit allows, increase the soft limit
to be sufficiently for the number of connections.

It is common for the soft limit to be considerably lower than the hard limit,
due to the danger of soft limits > 1024 breaking programs that use the
select(2), as explained in [1].

[1]: https://0pointer.net/blog/file-descriptor-limits.html

Author: Jelte Fennema-Nio <postgres@jeltef.nl>
Reviewed-by: Andres Freund <andres@anarazel.de>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/CAGECzQQh6VSy3KG4pN1d%3Dh9J%3DD1rStFCMR%2Bt7yh_Kwj-g87aLQ%40mail.gmail.com
src/bin/pgbench/pgbench.c