diff options
author | Robert Haas <rhaas@postgresql.org> | 2016-04-26 08:31:38 -0400 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2016-04-26 08:35:58 -0400 |
commit | 77cd477c4ba885cfa1ba67beaa82e06f2e182b85 (patch) | |
tree | 45cd79391da5ae88bdd4913756e9a98db2d6aa95 | |
parent | b7351ced425f3937f0a61adb4ade1d4b93bf751d (diff) | |
download | postgresql-77cd477c4ba885cfa1ba67beaa82e06f2e182b85.tar.gz postgresql-77cd477c4ba885cfa1ba67beaa82e06f2e182b85.zip |
Enable parallel query by default.
Change max_parallel_degree default from 0 to 2. It is possible that
this is not a good idea, or that we should go with 1 worker rather
than 2, but we won't find out without trying it. Along the way,
reword the documentation for max_parallel_degree a little bit to
hopefully make it more clear.
Discussion: 20160420174631.3qjjhpwsvvx5bau5@alap3.anarazel.de
-rw-r--r-- | doc/src/sgml/config.sgml | 12 | ||||
-rw-r--r-- | src/backend/optimizer/path/costsize.c | 2 | ||||
-rw-r--r-- | src/backend/utils/misc/guc.c | 2 | ||||
-rw-r--r-- | src/backend/utils/misc/postgresql.conf.sample | 2 |
4 files changed, 11 insertions, 7 deletions
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 909b3e23c52..dce1daa73ae 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -2005,10 +2005,14 @@ include_dir 'conf.d' </term> <listitem> <para> - Sets the maximum degree of parallelism for an individual parallel - operation. Note that the requested number of workers may not actually - be available at runtime. Parallel workers are taken from the pool - of processes established by <xref linkend="guc-max-worker-processes">. + Sets the maximum number of workers that can be started for an + individual parallel operation. Parallel workers are taken from the + pool of processes established by + <xref linkend="guc-max-worker-processes">. Note that the requested + number of workers may not actually be available at runtime. If this + occurs, the plan will run with fewer workers than expected, which may + be inefficient. The default value is 2. Setting this value to 0 + disables parallel query. </para> </listitem> </varlistentry> diff --git a/src/backend/optimizer/path/costsize.c b/src/backend/optimizer/path/costsize.c index 4917922ab57..fcb18732d85 100644 --- a/src/backend/optimizer/path/costsize.c +++ b/src/backend/optimizer/path/costsize.c @@ -113,7 +113,7 @@ int effective_cache_size = DEFAULT_EFFECTIVE_CACHE_SIZE; Cost disable_cost = 1.0e10; -int max_parallel_degree = 0; +int max_parallel_degree = 2; bool enable_seqscan = true; bool enable_indexscan = true; diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index 60856dda198..26ca06cfc25 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -2662,7 +2662,7 @@ static struct config_int ConfigureNamesInt[] = NULL }, &max_parallel_degree, - 0, 0, MAX_BACKENDS, + 2, 0, MAX_BACKENDS, NULL, NULL, NULL }, diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample index 14b537ffb17..f3e3de0568f 100644 --- a/src/backend/utils/misc/postgresql.conf.sample +++ b/src/backend/utils/misc/postgresql.conf.sample @@ -167,7 +167,7 @@ #effective_io_concurrency = 1 # 1-1000; 0 disables prefetching #max_worker_processes = 8 -#max_parallel_degree = 0 # max number of worker processes per node +#max_parallel_degree = 2 # max number of worker processes per node #old_snapshot_threshold = -1 # 1min-60d; -1 disables; 0 is immediate # (change requires restart) #backend_flush_after = 0 # 0 disables, |