On 23/09/2016 21:10, Robert Haas wrote: > On Fri, Sep 23, 2016 at 8:54 AM, Peter Eisentraut > <peter.eisentr...@2ndquadrant.com> wrote: >> On 9/20/16 4:07 PM, Robert Haas wrote: >>> No, I'm assuming that the classes would be built-in. A string tag >>> seems like over-engineering to me, particularly because the postmaster >>> needs to switch on the tag, and we need to be very careful about the >>> degree to which the postmaster trusts the contents of shared memory. >> >> I'm hoping that we can come up with something that extensions can >> participate in, without the core having to know ahead of time what those >> extensions are or how they would be categorized. >> >> My vision is something like >> >> max_processes = 512 # requires restart >> >> process_allowances = 'connection:300 superuser:10 autovacuum:10 >> parallel:30 replication:10 someextension:20 someotherextension:20' >> # does not require restart > > I don't think it's going to be very practical to allow extensions to > participate in the mechanism because there have to be a finite number > of slots that is known at the time we create the main shared memory > segment. > > Also, it's really important that we don't add lots more surface area > for the postmaster to crash and burn. >
It seems that there's no objection on Robert's initial proposal, so I'll try to implement it. I've already fixed every other issues mentioned upthread, but I'm facing a problem for this one. Assuming that the bgworker classes are supposed to be mutually exclusive, I don't see a simple and clean way to add such a check in SanityCheckBackgroundWorker(). Am I missing something obvious, or can someone give me some advice for this? -- Julien Rouhaud http://dalibo.com - http://dalibo.org -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers