postgres 有没有类似于 mysql innodb_thread_concurrency 的配置?

sud*_*lai 5 postgresql

InnoDB 提供了一个innodb_thread_concurrency选项来限制 MySQL 一次可以执行的并发存储引擎操作的数量。似乎 InnoDB 控制(调度)其线程的执行。

PostgreSQL 是否提供任何允许我们限制一次执行的并发操作数量的配置?postgresql 是控制其子进程的执行还是将此任务委托给操作系统?

shx*_*shx 4

PostgreSQL 不显式控制其子进程的执行。如果我借用你的话,PostgreSQL 将该任务委托给操作系统。

PostgreSQL 允许多个客户端同时连接。每个客户端连接一个子进程(称为backend process),每个正在运行的后端进程处理所连接的客户端发出的所有查询。它是一种非常简单且经典的服务器-客户端类型的多进程架构。

(我添加更多信息。)

PostgreSQL 可以通过配置参数来控制最大连接客户端数max_connections(与 MySQL 相同),但不会根据服务器活动来控制正在运行的后端进程的活动。

此外,一些辅助进程,例如 autovacuum 相关进程和检查点,可以根据服务器活动自行控制其活动。