Stephen Frost wrote:
> * Heikki Linnakangas ( wrote:
> > Thinking about this some more, it might be cleaner to move the
> > responsibility of setting MaxBackends out of guc.c, into
> > postmaster.c. The guc machinery would set max_connections and
> > autovacuum_max_workers as usual, but not try to set MaxBackends.
> > After reading the config file in postmaster.c, calculate
> > MaxBackends.
> I tend to prefer Heikki's solution wrt supporting what we do currently.
> I do wonder if, perhaps, the reason the assign_XXX() functions were put
> in place and used from GUC was a hope that some day we'd actually
> support online changing of max_connections (and friends).

No, that's not the reason.  The reason is that the "check" hooks did not
exist at all, so both the check and the assignment were done in the
assign hook.  Now we're getting rid of the assignment hooks because
they're useless, but the check hooks must, of course, remain.  We put
the hooks in because it was the simplest thing we could think of to set
MaxBackends when either max_connections or autovacuum_max_workers were
tweaked.  My guess is if we had thought of propagating MaxBackends via
BackendParameters back then, we'd probably gone that route as well.
But certainly we had no intention to make max_connections online changeable.

I too like Heikki's proposed patch much better than mine.  Thanks.

Álvaro Herrera      
PostgreSQL Development, 24x7 Support, Training & Services

Sent via pgsql-hackers mailing list (
To make changes to your subscription:

Reply via email to