diff --git a/src/backend/commands/explain.c b/src/backend/commands/explain.c index ee13136b7f..9cd3127937 100644 --- a/src/backend/commands/explain.c +++ b/src/backend/commands/explain.c @@ -347,7 +347,7 @@ ExplainOneQuery(Query *query, IntoClause *into, ExplainState *es, INSTR_TIME_SET_CURRENT(planstart); /* plan the query */ - plan = pg_plan_query(query, CURSOR_OPT_PARALLEL_OK, params); + plan = pg_plan_query(query, into ? 0 : CURSOR_OPT_PARALLEL_OK, params); INSTR_TIME_SET_CURRENT(planduration); INSTR_TIME_SUBTRACT(planduration, planstart); diff --git a/src/test/regress/expected/select_into.out b/src/test/regress/expected/select_into.out index 9d3f04758e..b577d1b3cc 100644 --- a/src/test/regress/expected/select_into.out +++ b/src/test/regress/expected/select_into.out @@ -74,7 +74,14 @@ SELECT * FROM created_table; 4567890123456789 | -4567890123456789 (5 rows) +-- Try EXPLAIN ANALYZE SELECT INTO, but hide the output since it won't +-- be stable. +DO $$ +BEGIN + EXECUTE 'EXPLAIN ANALYZE SELECT * INTO TABLE easi FROM int8_tbl'; +END$$; DROP TABLE created_table; +DROP TABLE easi; -- -- Disallowed uses of SELECT ... INTO. All should fail -- diff --git a/src/test/regress/sql/select_into.sql b/src/test/regress/sql/select_into.sql index 4d1cc86556..e4460aea2f 100644 --- a/src/test/regress/sql/select_into.sql +++ b/src/test/regress/sql/select_into.sql @@ -66,7 +66,15 @@ SELECT make_table(); SELECT * FROM created_table; +-- Try EXPLAIN ANALYZE SELECT INTO, but hide the output since it won't +-- be stable. +DO $$ +BEGIN + EXECUTE 'EXPLAIN ANALYZE SELECT * INTO TABLE easi FROM int8_tbl'; +END$$; + DROP TABLE created_table; +DROP TABLE easi; -- -- Disallowed uses of SELECT ... INTO. All should fail