Re: make MaxBackends available in _PG_init
Nathan Bossart <bossartn@amazon.com>
From: "Bossart, Nathan" <bossartn@amazon.com>
To: Robert Haas <robertmhaas@gmail.com>, Andres Freund <andres@anarazel.de>
Cc: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>, "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>
Date: 2021-08-07T18:01:41Z
Lists: pgsql-hackers
Attachments
- v2-0001-Disallow-external-access-to-MaxBackends.patch (application/octet-stream) patch v2-0001
On 8/3/21, 4:14 PM, "Bossart, Nathan" <bossartn@amazon.com> wrote: > On 8/2/21, 4:02 PM, "Bossart, Nathan" <bossartn@amazon.com> wrote: >> On 8/2/21, 3:42 PM, "Andres Freund" <andres@anarazel.de> wrote: >>> I've wondered, independent of this thread, about not making MaxBackends >>> externally visible, and requiring a function call to access it. It should be >>> easier to find cases of misuse if we errored out when accessed at the wrong >>> time. And we could use that opportunity to add flags that determine which >>> types of backends are included (e.g. not including autovac, or additionally >>> including aux workers or prepared xacts). >> >> I'm not opposed to this. I can work on putting a patch together if no >> opposition materializes. > > Here is a first attempt. Here is a rebased version of the patch. Nathan
Commits
-
Add a new shmem_request_hook hook.
- 4f2400cb3f10 15.0 landed
-
Remove non-functional code for unloading loadable modules.
- ab02d702ef08 15.0 landed
-
Fix misleading comments about background worker registration.
- 701d918a426b 15.0 landed
-
Revert the addition of GetMaxBackends() and related stuff.
- 7fc0e7de9fb8 15.0 landed
-
Fix typo in multixact.c
- 0147fc7c8c92 15.0 landed
-
Reduce more the number of calls to GetMaxBackends()
- 4567596316d1 15.0 landed
-
Remove MaxBackends variable in favor of GetMaxBackends() function.
- aa64f23b0292 15.0 landed
-
Fix comments about bgworker registration before MaxBackends initialization
- 5ecd0183fb6a 15.0 landed
-
Fix bogus assertion in BootstrapModeMain().
- e12694523e7e 15.0 cited
-
Make sure MaxBackends is always set
- dfbba2c86cc8 9.3.0 cited