diff --git a/src/test/regress/expected/select_parallel.out b/src/test/regress/expected/select_parallel.out
new file mode 100644
index 0000000000000000000000000000000000000000..b19dc1b2f0edec843739c1446631bd87bb7dfc98
--- /dev/null
+++ b/src/test/regress/expected/select_parallel.out
@@ -0,0 +1,54 @@
+--
+-- PARALLEL
+--
+-- Serializable isolation would disable parallel query, so explicitly use an
+-- arbitrary other level.
+begin isolation level repeatable read;
+-- setup parallel test
+set parallel_setup_cost=0;
+set parallel_tuple_cost=0;
+explain (costs off)
+  select count(*) from a_star;
+                     QUERY PLAN                      
+-----------------------------------------------------
+ Finalize Aggregate
+   ->  Gather
+         Workers Planned: 1
+         ->  Partial Aggregate
+               ->  Append
+                     ->  Parallel Seq Scan on a_star
+                     ->  Parallel Seq Scan on b_star
+                     ->  Parallel Seq Scan on c_star
+                     ->  Parallel Seq Scan on d_star
+                     ->  Parallel Seq Scan on e_star
+                     ->  Parallel Seq Scan on f_star
+(11 rows)
+
+select count(*) from a_star;
+ count 
+-------
+    50
+(1 row)
+
+set force_parallel_mode=1;
+explain (costs off)
+  select stringu1::int2 from tenk1 where unique1 = 1;
+                  QUERY PLAN                   
+-----------------------------------------------
+ Gather
+   Workers Planned: 1
+   Single Copy: true
+   ->  Index Scan using tenk1_unique1 on tenk1
+         Index Cond: (unique1 = 1)
+(5 rows)
+
+do $$begin
+  -- Provoke error in worker.  The original message CONTEXT contains a worker
+  -- PID that must be hidden in the test output.  PL/pgSQL conveniently
+  -- substitutes its own CONTEXT.
+  select stringu1::int2 from tenk1 where unique1 = 1;
+end$$;
+ERROR:  invalid input syntax for integer: "BAAAAA"
+CONTEXT:  SQL statement "select stringu1::int2 from tenk1 where unique1 = 1"
+PL/pgSQL function inline_code_block line 5 at SQL statement
+rollback;
diff --git a/src/test/regress/parallel_schedule b/src/test/regress/parallel_schedule
index c03f6352b76139f5ad47b7d39340629248b821c9..4ebad04d060e1952eaa5b28e74117c90f3ee9f15 100644
--- a/src/test/regress/parallel_schedule
+++ b/src/test/regress/parallel_schedule
@@ -92,7 +92,7 @@ test: brin gin gist spgist privileges init_privs security_label collate matview
 test: alter_generic alter_operator misc psql async dbsize misc_functions
 
 # rules cannot run concurrently with any test that creates a view
-test: rules psql_crosstab
+test: rules psql_crosstab select_parallel
 
 # ----------
 # Another group of parallel tests
diff --git a/src/test/regress/serial_schedule b/src/test/regress/serial_schedule
index e25660cdd65b2f19321d629c48b595231f2775c0..5c7038d6e1bb3cbd2b34cc8725c8658ef8fc8bdc 100644
--- a/src/test/regress/serial_schedule
+++ b/src/test/regress/serial_schedule
@@ -125,6 +125,7 @@ test: dbsize
 test: misc_functions
 test: rules
 test: psql_crosstab
+test: select_parallel
 test: select_views
 test: portals_p2
 test: foreign_key
diff --git a/src/test/regress/sql/select_parallel.sql b/src/test/regress/sql/select_parallel.sql
new file mode 100644
index 0000000000000000000000000000000000000000..1cd4a700f19b2fff0f3db1da9061271812f6bf71
--- /dev/null
+++ b/src/test/regress/sql/select_parallel.sql
@@ -0,0 +1,29 @@
+--
+-- PARALLEL
+--
+
+-- Serializable isolation would disable parallel query, so explicitly use an
+-- arbitrary other level.
+begin isolation level repeatable read;
+
+-- setup parallel test
+set parallel_setup_cost=0;
+set parallel_tuple_cost=0;
+
+explain (costs off)
+  select count(*) from a_star;
+select count(*) from a_star;
+
+set force_parallel_mode=1;
+
+explain (costs off)
+  select stringu1::int2 from tenk1 where unique1 = 1;
+
+do $$begin
+  -- Provoke error in worker.  The original message CONTEXT contains a worker
+  -- PID that must be hidden in the test output.  PL/pgSQL conveniently
+  -- substitutes its own CONTEXT.
+  select stringu1::int2 from tenk1 where unique1 = 1;
+end$$;
+
+rollback;