BEGIN; SET max_parallel_workers_per_gather=4; SET force_parallel_mode=on; CREATE TABLE parallel_test(i int, md md5hash, md2 md5hash) WITH (parallel_workers = 4); INSERT INTO parallel_test (i, md, md2) SELECT i, md5(i::text), md5((i + 1)::text) FROM generate_series(1,1e6) i; EXPLAIN (costs off,verbose) SELECT COUNT(*) FROM parallel_test WHERE md > md2; 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.md > parallel_test.md2) (9 rows) EXPLAIN (costs off,verbose) SELECT md, COUNT(*) FROM parallel_test GROUP BY 1; QUERY PLAN ------------------------------------------------------------------- Finalize GroupAggregate Output: md, count(*) Group Key: parallel_test.md -> Sort Output: md, (PARTIAL count(*)) Sort Key: parallel_test.md -> Gather Output: md, (PARTIAL count(*)) Workers Planned: 4 -> Partial HashAggregate Output: md, PARTIAL count(*) Group Key: parallel_test.md -> Parallel Seq Scan on public.parallel_test Output: md (14 rows) ROLLBACK;