diff --git a/src/backend/distributed/planner/distributed_planner.c b/src/backend/distributed/planner/distributed_planner.c index 6ef0f5824..a17ef0e42 100644 --- a/src/backend/distributed/planner/distributed_planner.c +++ b/src/backend/distributed/planner/distributed_planner.c @@ -595,6 +595,16 @@ CreateDistributedPlan(uint64 planId, Query *originalQuery, Query *query, ParamLi if (InsertSelectIntoDistributedTable(originalQuery)) { + if (hasUnresolvedParams) + { + /* + * Unresolved parameters can cause performance regressions in + * INSERT...SELECT when the partition column is a parameter + * because we don't perform any additional pruning in the executor. + */ + return NULL; + } + distributedPlan = CreateInsertSelectPlan(originalQuery, plannerRestrictionContext); }