aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/misc/guc.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2016-06-16 13:47:20 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2016-06-16 13:47:20 -0400
commit75be66464cb1bffa1e5757907b9a04ad5afc7859 (patch)
tree71d51f8b6e3ba127480cf6165b4b2c165c2fea0f /src/backend/utils/misc/guc.c
parent3b5a2a8856b810ed354fb6dbb7df8d7325ece82f (diff)
downloadpostgresql-75be66464cb1bffa1e5757907b9a04ad5afc7859.tar.gz
postgresql-75be66464cb1bffa1e5757907b9a04ad5afc7859.zip
Invent min_parallel_relation_size GUC to replace a hard-wired constant.
The main point of doing this is to allow the cutoff to be set very small, even zero, to allow parallel-query behavior to be tested on relatively small tables such as we typically use in the regression tests. But it might be of use to users too. The number-of-workers scaling behavior in create_plain_partial_paths() is pretty ad-hoc and subject to change, so we won't expose anything about that, but the notion of not considering parallel query at all for tables below size X seems reasonably stable. Amit Kapila, per a suggestion from me Discussion: <17170.1465830165@sss.pgh.pa.us>
Diffstat (limited to 'src/backend/utils/misc/guc.c')
-rw-r--r--src/backend/utils/misc/guc.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index 9b02111a834..60148b871b3 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -2748,6 +2748,17 @@ static struct config_int ConfigureNamesInt[] =
},
{
+ {"min_parallel_relation_size", PGC_USERSET, QUERY_TUNING_COST,
+ gettext_noop("Sets the minimum size of relations to be considered for parallel scan."),
+ NULL,
+ GUC_UNIT_BLOCKS,
+ },
+ &min_parallel_relation_size,
+ 1024, 0, INT_MAX / 3,
+ NULL, NULL, NULL
+ },
+
+ {
/* Can't be set in postgresql.conf */
{"server_version_num", PGC_INTERNAL, PRESET_OPTIONS,
gettext_noop("Shows the server version as an integer."),