Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个 Postgresql 的自定义并行聚合扩展,我希望每次使用聚合函数时至少有 N 个工作进程执行聚合。
是否可以告诉 postgresql 始终使用至少 N 个工作人员来执行此功能?
您可以做的是parallel_workers在表上设置存储参数。然后对该表的每次并行扫描都使用那么多工作人员。但它不能按函数完成,这是有道理的,因为并行性是否有用取决于表。
parallel_workers
此外,您将永远无法保证始终使用一定数量的工作人员,因为集群范围内的并行工作人员最大值为max_parallel_workers,如果达到该限制,您将无法获得并行工作人员,即使优化器会喜欢并行化。
max_parallel_workers
我会把这个决定留给优化器。