2013年10月,创建了两个主要的基础架构:Dynamic Background Workers 和 Dynamic Shared Memory。
2014年11月,Amit Kapila发布了并行顺序扫描(parallel sequential scan)的草案补丁,Robert Haas 发布了并行模式和并行上下文的(parallel mode and parallel contexts)草案补丁以及引入了一个名为pg_background的contrib模块的补丁。
2016年1月,并行基础架构被提交到PostgreSQL 9.5。
2016年3月,并行顺序扫描被提交到PostgreSQL 9.6。支持 并行连接 和 并行聚合(parallel joins and parallel aggregation),并于4月发布。
2017年3月,并行工作总结:
- 已经承诺(Already committed)
- Parallel Bitmap Heap Scan (Dilip Kumar).
- Parallel Index Scan (Rahila Syed, Amit Kapila, Robert Haas)
- Parallel Index-Only Scan (Rafia Sabih).
- Gather Merge (Rushabh Lathia).
- Parallel Merge Join (Dilip Kumar).
- Subplan-Related Improvements (Amit Kapila).
- Pass Query Text To Workers (Rafia Sabih).
- 待定(Still Pending)
- Parallel CREATE INDEX (Peter Geoghegan).
- Better Parallel Hash Join (Thomas Munro).
- Pass InitPlan Values to Workers (Amit Kapila).
- Parallel Append (Amit Khandekar).
- Improve Access to Parallel Query from Procedural Languages (Rafia Sabih).
- Allow Parallel Query at SERIALIZABLE (Thomas Munro).
2017年10月,PostgreSQL 10 改进了并行查询功能,如并行位图堆扫描(Parallel Bitmap Heap Scan),并行索引扫描(Parallel Index Scan,)等新功能。并行查询通常具有2-4倍的加速,并且这些增强应该允许这些加速发生在更广泛的查询中。
2018年5月,PostgreSQL 11对并行性的改进包括。
并行化 hash joins
并行化 CREATE INDEX B树索引
并行化 CREATE TABLE .. AS, CREATE MATERIALIZED VIEW以及某些查询 UNION
参考链接:Robert Haas' blog