假设我有两个数据库客户端并行执行对PostgreSQL集群的查询。我决定我希望其中一个在2使用max_parallel_workers_per_gather,另一个在6使用。
所以,客户#1会做
exec("SET max_parallel_workers_per_gather=2; // A
SELECT * FROM large_scan; // B
");
客户端2将执行此操作
exec("SET max_parallel_workers_per_gather=6; // C
SELECT * FROM other_large_scan; // D
");
我期望序列A-> B-> C-> D,以便B和D都使用指定参数同时执行。但是序列A-> C-> B-> D可能吗?这将给两个客户6,这不是我想要的!
我正在使用SPI,我认为它不支持异步执行。
在会话中设置参数通常是该会话本地的。执行顺序可以是A-> C-> B-> D,但这并不意味着B会注意C的工作。