哪些情况可能导致事务在一个PostgreSQL会话中并行运行?

哪些情况可能导致事务在一个PostgreSQL会话中并行运行?,postgresql,Postgresql,我曾考虑使用PostgreSQL咨询锁来防止某些事务并行运行时可能出现的争用情况,但PostgreSQL文档说,这些锁只会阻止其他会话的事务,而不会阻止一个会话中的事务: 如果会话已持有给定的通知锁,则会发出其他请求 通过它,将始终成功无论是否 现有锁定保持和新请求处于会话级别或 交易级别 但是,事务何时在一个会话中并行运行?我能在不造成性能严重下降的情况下避免这种情况吗 但是,事务何时在一个会话中并行运行 从来没有 由于版本9.6,这意味着操作系统级别的多个CPU和进程可以并行执行一个查询,但

我曾考虑使用PostgreSQL咨询锁来防止某些事务并行运行时可能出现的争用情况,但PostgreSQL文档说,这些锁只会阻止其他会话的事务,而不会阻止一个会话中的事务:

如果会话已持有给定的通知锁,则会发出其他请求 通过它,将始终成功无论是否 现有锁定保持和新请求处于会话级别或 交易级别

但是,事务何时在一个会话中并行运行?我能在不造成性能严重下降的情况下避免这种情况吗

但是,事务何时在一个会话中并行运行

从来没有


由于版本9.6,这意味着操作系统级别的多个CPU和进程可以并行执行一个查询,但事务永远不会并行执行多个查询,会话也永远不会生成多个并行执行的事务。

我认为值得注意的是,这并不是Postgres特有的,没有关系DBMS在单个连接上支持多个活动事务。