BEGIN; SET max_parallel_workers_per_gather=4; SET force_parallel_mode=on; CREATE TABLE parallel_test(i int, data ajbool) WITH (parallel_workers = 4); INSERT INTO parallel_test SELECT i, CASE i%3 WHEN 0 THEN 't' WHEN 1 THEN 'f' ELSE 'u' END::ajbool as data FROM generate_series(1,1e6) i; EXPLAIN (costs off,verbose) SELECT COUNT(*) FROM parallel_test WHERE data; QUERY PLAN ------------------------------------------------------------- Finalize Aggregate Output: count(*) -> Gather Output: (PARTIAL count(*)) Workers Planned: 4 -> Partial Aggregate Output: PARTIAL count(*) -> Parallel Seq Scan on public.parallel_test Filter: parallel_test.data (9 rows) EXPLAIN (costs off,verbose) SELECT data, COUNT(*) FROM parallel_test GROUP BY 1; QUERY PLAN ------------------------------------------------------------------- Finalize GroupAggregate Output: data, count(*) Group Key: parallel_test.data -> Sort Output: data, (PARTIAL count(*)) Sort Key: parallel_test.data -> Gather Output: data, (PARTIAL count(*)) Workers Planned: 4 -> Partial HashAggregate Output: data, PARTIAL count(*) Group Key: parallel_test.data -> Parallel Seq Scan on public.parallel_test Output: data (14 rows) ROLLBACK;