diff options
author | Amit Kapila <akapila@postgresql.org> | 2021-03-24 11:10:12 +0530 |
---|---|---|
committer | Amit Kapila <akapila@postgresql.org> | 2021-03-24 11:29:15 +0530 |
commit | 26acb54a1368bf3706294400abca85b15c9233a6 (patch) | |
tree | 435436137df934ae0d011d271ab73a4710b4c893 /src/backend/access/common/reloptions.c | |
parent | 84007043fc1b1be68dad5d0a78269347c12094b6 (diff) | |
download | postgresql-26acb54a1368bf3706294400abca85b15c9233a6.tar.gz postgresql-26acb54a1368bf3706294400abca85b15c9233a6.zip |
Revert "Enable parallel SELECT for "INSERT INTO ... SELECT ..."."
To allow inserts in parallel-mode this feature has to ensure that all the
constraints, triggers, etc. are parallel-safe for the partition hierarchy
which is costly and we need to find a better way to do that. Additionally,
we could have used existing cached information in some cases like indexes,
domains, etc. to determine the parallel-safety.
List of commits reverted, in reverse chronological order:
ed62d3737c Doc: Update description for parallel insert reloption.
c8f78b6161 Add a new GUC and a reloption to enable inserts in parallel-mode.
c5be48f092 Improve FK trigger parallel-safety check added by 05c8482f7f.
e2cda3c20a Fix use of relcache TriggerDesc field introduced by commit 05c8482f7f.
e4e87a32cc Fix valgrind issue in commit 05c8482f7f.
05c8482f7f Enable parallel SELECT for "INSERT INTO ... SELECT ...".
Discussion: https://postgr.es/m/E1lMiB9-0001c3-SY@gemulon.postgresql.org
Diffstat (limited to 'src/backend/access/common/reloptions.c')
-rw-r--r-- | src/backend/access/common/reloptions.c | 25 |
1 files changed, 6 insertions, 19 deletions
diff --git a/src/backend/access/common/reloptions.c b/src/backend/access/common/reloptions.c index 5a0ae99750f..d897bbec2ba 100644 --- a/src/backend/access/common/reloptions.c +++ b/src/backend/access/common/reloptions.c @@ -168,15 +168,6 @@ static relopt_bool boolRelOpts[] = }, true }, - { - { - "parallel_insert_enabled", - "Enables \"parallel insert\" feature for this table", - RELOPT_KIND_HEAP | RELOPT_KIND_PARTITIONED, - ShareUpdateExclusiveLock - }, - true - }, /* list terminator */ {{NULL}} }; @@ -1868,9 +1859,7 @@ default_reloptions(Datum reloptions, bool validate, relopt_kind kind) {"vacuum_index_cleanup", RELOPT_TYPE_BOOL, offsetof(StdRdOptions, vacuum_index_cleanup)}, {"vacuum_truncate", RELOPT_TYPE_BOOL, - offsetof(StdRdOptions, vacuum_truncate)}, - {"parallel_insert_enabled", RELOPT_TYPE_BOOL, - offsetof(StdRdOptions, parallel_insert_enabled)} + offsetof(StdRdOptions, vacuum_truncate)} }; return (bytea *) build_reloptions(reloptions, validate, kind, @@ -1972,15 +1961,13 @@ build_local_reloptions(local_relopts *relopts, Datum options, bool validate) bytea * partitioned_table_reloptions(Datum reloptions, bool validate) { - static const relopt_parse_elt tab[] = { - {"parallel_insert_enabled", RELOPT_TYPE_BOOL, - offsetof(PartitionedTableRdOptions, parallel_insert_enabled)} - }; - + /* + * There are no options for partitioned tables yet, but this is able to do + * some validation. + */ return (bytea *) build_reloptions(reloptions, validate, RELOPT_KIND_PARTITIONED, - sizeof(PartitionedTableRdOptions), - tab, lengthof(tab)); + 0, NULL, 0); } /* |