]> granicus.if.org Git - postgresql/commitdiff
Allow parallelism in COPY (query) TO ...;
authorAndres Freund <andres@anarazel.de>
Sat, 3 Jun 2017 02:05:57 +0000 (19:05 -0700)
committerAndres Freund <andres@anarazel.de>
Sat, 3 Jun 2017 02:11:15 +0000 (19:11 -0700)
Previously this was not allowed, as copy.c didn't set the
CURSOR_OPT_PARALLEL_OK flag when planning the query. Set it.

While the lack of parallel query for COPY isn't strictly speaking a
bug, it does prevent parallelism from being used in a facility
commonly used to run long running queries. Thus backpatch to 9.6.

Author: Andres Freund
Discussion: https://postgr.es/m/20170531231958.ihanapplorptykzm@alap3.anarazel.de
Backpatch: 9.6, where parallelism was introduced.

src/backend/commands/copy.c

index 84b1a54cb9b4ed81015ef96a30f7c01179750d99..810bae5dadcf10427537f403fd6b3571d33065ba 100644 (file)
@@ -1527,7 +1527,7 @@ BeginCopy(ParseState *pstate,
                }
 
                /* plan the query */
-               plan = pg_plan_query(query, 0, NULL);
+               plan = pg_plan_query(query, CURSOR_OPT_PARALLEL_OK, NULL);
 
                /*
                 * With row level security and a user using "COPY relation TO", we