postgresql/src
Robert Haas 6bc8ef0b7f Add new GUC, max_worker_processes, limiting number of bgworkers.
In 9.3, there's no particular limit on the number of bgworkers;
instead, we just count up the number that are actually registered,
and use that to set MaxBackends.  However, that approach causes
problems for Hot Standby, which needs both MaxBackends and the
size of the lock table to be the same on the standby as on the
master, yet it may not be desirable to run the same bgworkers in
both places.  9.3 handles that by failing to notice the problem,
which will probably work fine in nearly all cases anyway, but is
not theoretically sound.

A further problem with simply counting the number of registered
workers is that new workers can't be registered without a
postmaster restart.  This is inconvenient for administrators,
since bouncing the postmaster causes an interruption of service.
Moreover, there are a number of applications for background
processes where, by necessity, the background process must be
started on the fly (e.g. parallel query).  While this patch
doesn't actually make it possible to register new background
workers after startup time, it's a necessary prerequisite.

Patch by me.  Review by Michael Paquier.
2013-07-04 11:24:24 -04:00
..
backend Add new GUC, max_worker_processes, limiting number of bgworkers. 2013-07-04 11:24:24 -04:00
bin Add new GUC, max_worker_processes, limiting number of bgworkers. 2013-07-04 11:24:24 -04:00
common pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
include Add new GUC, max_worker_processes, limiting number of bgworkers. 2013-07-04 11:24:24 -04:00
interfaces ecpg: Consistently use mm_strdup() 2013-06-29 22:14:56 -04:00
makefiles Install all a Makefile's extension controls, not just the first. 2013-07-03 19:03:31 -04:00
pl Expose object name error fields in PL/pgSQL. 2013-07-03 07:29:56 -04:00
port Send SIGKILL to children if they don't die quickly in immediate shutdown 2013-06-28 17:49:46 -04:00
template Remove _FORTIFY_SOURCE 2012-10-10 21:42:38 -04:00
test Get rid of pg_class.reltoastidxid. 2013-07-04 03:24:09 +09:00
timezone pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
tools Get rid of pg_class.reltoastidxid. 2013-07-04 03:24:09 +09:00
tutorial Modernize string literal syntax in tutorial example. 2013-01-19 17:20:32 -05:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
bcc32.mak Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
DEVELOPERS Replace a couple of references to files that no longer exist in the source 2009-05-04 08:08:47 +00:00
Makefile Create libpgcommon, and move pg_malloc et al to it 2013-02-12 11:21:05 -03:00
Makefile.global.in Improve support for building PGXS modules with VPATH. 2013-07-01 12:53:05 -04:00
Makefile.shlib Add pkg-config files for libpq and ecpg libraries 2013-03-31 16:58:40 -04:00
nls-global.mk NLS: Use msgmerge --previous option 2012-12-13 23:12:12 -05:00
win32.mak Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00