Intermediate LevelPostgreSQL
How does Parallel Query Execution (max_parallel_workers_per_gather) accelerate sequential scans?
❓ Interview Prompt: Explain Parallel Query execution, Leader process vs Parallel Workers, `Gather` and `Gather Merge` nodes, and tuning parallel workers.
PostgreSQL can split heavy queries across multiple CPU cores using Parallel Query Execution:
How It Works:
1
The Leader backend process spawns worker processes configured via 'max_parallel_workers_per_gather'.
2
Workers execute partial sequential scans or parallel index scans concurrently.
3
The Leader combines partial worker results using a 'Gather' or 'Gather Merge' execution node.
Code Implementation Example
sql
-- Tune maximum parallel workers for heavy analytical queries
SET max_parallel_workers_per_gather = 4;
EXPLAIN SELECT count(*), avg(total_amount) FROM large_sales_data;💡Configuring parallel worker counts for analytical query execution.
🎯 Interview Key Takeaway
Tune max_parallel_workers_per_gather on multi-core servers to accelerate sequential scans and aggregations.
#Parallel Query#Gather#Workers#Multi-Core#Intermediate
Back to all PostgreSQL Questions→