在 SQL Server 中,每个 CPU 核心可以有许多工作线程。有谁知道在 PostgreSQL 中是否也是如此并且可以指出我的参考?(假设版本 11)。
背景是我们目前在 SQL Server 中有一些 OLTP 工作负载正在迁移到 PostgreSQL。我想知道如果启用并行性并拒绝连接(当我们用完线程时可能发生在 SQL Server 上),是否存在线程用完的风险,以及我是否应该建议默认禁用并行性。
在 SQL Server 中,每个 CPU 核心可以有许多工作线程。有谁知道在 PostgreSQL 中是否也是如此并且可以指出我的参考?(假设版本 11)。
背景是我们目前在 SQL Server 中有一些 OLTP 工作负载正在迁移到 PostgreSQL。我想知道如果启用并行性并拒绝连接(当我们用完线程时可能发生在 SQL Server 上),是否存在线程用完的风险,以及我是否应该建议默认禁用并行性。
PostgreSQL 不使用线程,它使用协调的单线程进程。它一次不会使用超过系统范围的 max_parallel_workers。如果超过这个值,查询将不会出错,它们只是使用比他们“想要的”更少的工作进程运行。
如果您尝试同时运行查询的连接数总是大于您的 CPU 数,那么您可能还不如关闭并行性。无论如何,OLTP 通常都不是并行执行的理想选择。