diff options
author | Robert Haas <rhaas@postgresql.org> | 2016-12-02 07:42:58 -0500 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2016-12-02 07:42:58 -0500 |
commit | b460f5d6693103076dc554aa7cbb96e1e53074f9 (patch) | |
tree | 01fd17d21facc8d329936fb18ec554d41c39abf7 /src/backend/utils | |
parent | 5714931b075b2dc8994b6e464ea3845c33ecf416 (diff) | |
download | postgresql-b460f5d6693103076dc554aa7cbb96e1e53074f9.tar.gz postgresql-b460f5d6693103076dc554aa7cbb96e1e53074f9.zip |
Add max_parallel_workers GUC.
Increase the default value of the existing max_worker_processes GUC
from 8 to 16, and add a new max_parallel_workers GUC with a maximum
of 8. This way, even if the maximum amount of parallel query is
happening, there is still room for background workers that do other
things, as originally envisioned when max_worker_processes was added.
Julien Rouhaud, reviewed by Amit Kapila and by revised by me.
Diffstat (limited to 'src/backend/utils')
-rw-r--r-- | src/backend/utils/init/globals.c | 3 | ||||
-rw-r--r-- | src/backend/utils/misc/guc.c | 12 | ||||
-rw-r--r-- | src/backend/utils/misc/postgresql.conf.sample | 3 |
3 files changed, 15 insertions, 3 deletions
diff --git a/src/backend/utils/init/globals.c b/src/backend/utils/init/globals.c index f23208353c3..c564ae396da 100644 --- a/src/backend/utils/init/globals.c +++ b/src/backend/utils/init/globals.c @@ -121,7 +121,8 @@ int replacement_sort_tuples = 150000; */ int NBuffers = 1000; int MaxConnections = 90; -int max_worker_processes = 8; +int max_worker_processes = 16; +int max_parallel_workers = 8; int MaxBackends = 0; int VacuumCostPageHit = 1; /* GUC parameters for vacuum */ diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index 28ebcb6f3fa..4e49d5b79cc 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -2477,7 +2477,7 @@ static struct config_int ConfigureNamesInt[] = NULL, }, &max_worker_processes, - 8, 0, MAX_BACKENDS, + 16, 0, MAX_BACKENDS, check_max_worker_processes, NULL, NULL }, @@ -2665,6 +2665,16 @@ static struct config_int ConfigureNamesInt[] = }, { + {"max_parallel_workers", PGC_USERSET, RESOURCES_ASYNCHRONOUS, + gettext_noop("Sets the maximum number of parallel workers than can be active at one time."), + NULL + }, + &max_parallel_workers, + 8, 0, 1024, + NULL, NULL, NULL + }, + + { {"autovacuum_work_mem", PGC_SIGHUP, RESOURCES_MEM, gettext_noop("Sets the maximum memory to be used by each autovacuum worker process."), NULL, diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample index 0df15380a9a..1f490c7de4f 100644 --- a/src/backend/utils/misc/postgresql.conf.sample +++ b/src/backend/utils/misc/postgresql.conf.sample @@ -161,8 +161,9 @@ # - Asynchronous Behavior - #effective_io_concurrency = 1 # 1-1000; 0 disables prefetching -#max_worker_processes = 8 # (change requires restart) +#max_worker_processes = 16 # (change requires restart) #max_parallel_workers_per_gather = 2 # taken from max_worker_processes +#max_parallel_workers = 8 # total maximum number of worker_processes #old_snapshot_threshold = -1 # 1min-60d; -1 disables; 0 is immediate # (change requires restart) #backend_flush_after = 0 # measured in pages, 0 disables |