diff --git a/src/backend/optimizer/plan/analyzejoins.c b/src/backend/optimizer/plan/analyzejoins.c index 506fccd20c9..fe3c9bc9b72 100644 --- a/src/backend/optimizer/plan/analyzejoins.c +++ b/src/backend/optimizer/plan/analyzejoins.c @@ -2148,6 +2148,10 @@ remove_self_joins_one_group(PlannerInfo *root, Relids relids) Assert(root->simple_rte_array[k]->relid == root->simple_rte_array[r]->relid); + if (root->simple_rte_array[k]->tablesample || + root->simple_rte_array[r]->tablesample) + continue; + /* * It is impossible to eliminate join of two relations if they * belong to different rules of order. Otherwise planner can't be