Answers:
否,适用于v9.6之前的PostgreSQL版本。请参阅PostgreSQL FAQ:PostgreSQL如何使用CPU资源?
PostgreSQL服务器是基于进程的(非线程)。每个数据库会话连接到单一的PostgreSQL操作系统(OS)的过程。操作系统会自动将多个会话分布在所有可用CPU上。该操作系统还使用CPU处理磁盘I / O并运行其他非数据库任务。客户端应用程序可以使用线程,每个线程都连接到单独的数据库进程。
由于9.6版本,部分某些查询可以并行运行,在单独的操作系统进程,允许使用多个CPU内核的。默认情况下,版本10(max_parallel_workers_per_gather)中启用了并行查询,并且在将来的发行版中还期望其他并行性。
否,但是有一种解决方法。:)
我发现了parsel(并行选择)plpgsql函数,该函数根据主键拆分查询,然后通过dblink扩展名连接到数据库并等待所有子查询。
https://gist.github.com/mjgleaso/8031067
作者还撰写了有关此功能的文章:http : //geeohspatial.blogspot.com/2013/12/a-simple-function-for-parallel-queries_18.html