PostgreSQL 9.6中单个连接的并行查询

PostgreSQL 9.6中单个连接的并行查询,postgresql,Postgresql,我找到了有关PostgreSQL 9.6的并行查询和并行顺序扫描的文档,但我找不到任何关于PostgreSQL 9.6是否可以在单个连接上同时运行多个查询的信息(我知道我可以打开多个连接并同时运行查询) 假设我有两个要执行的查询(在单个连接上): 从表1中选择* 从表2中选择* 在PostgreSQL服务器端有没有办法让这些查询同时运行 非常感谢您的资料来源。使用pg\u send\u query和pg\u get\u result您可以在PHP中异步执行多个查询,如下所示: <?php

我找到了有关PostgreSQL 9.6的并行查询和并行顺序扫描的文档,但我找不到任何关于PostgreSQL 9.6是否可以在单个连接上同时运行多个查询的信息(我知道我可以打开多个连接并同时运行查询)

假设我有两个要执行的查询(在单个连接上):
从表1中选择*

从表2中选择*

在PostgreSQL服务器端有没有办法让这些查询同时运行


非常感谢您的资料来源。

使用
pg\u send\u query
pg\u get\u result
您可以在
PHP
中异步执行多个查询,如下所示:

<?php
  $dbconn = pg_connect("dbname=publisher") or die("Could not connect");

  if (!pg_connection_busy($dbconn)) {
      pg_send_query($dbconn, "select * from authors; select count(*) from authors;");
  }

  $res1 = pg_get_result($dbconn);
  echo "First call to pg_get_result(): $res1\n";
  $rows1 = pg_num_rows($res1);
  echo "$res1 has $rows1 records\n\n";

  $res2 = pg_get_result($dbconn);
  echo "Second call to pg_get_result(): $res2\n";
  $rows2 = pg_num_rows($res2);
  echo "$res2 has $rows2 records\n";
?>

有关更多信息,请参阅


希望它能帮助您

单个连接(会话)在给定时间只能执行单个语句。如果要并行运行两个不同的查询,则需要两个连接(这在任何其他DBMS中都没有区别)。并行顺序扫描听起来像是DBMS用于优化单个查询的技术,而不是应用程序开发人员可用的功能。如果你链接到你发现这一点的文档,我们可能会提供更多的见解。@PhilipCoulling我的错是说PostgreSQL提供了这些。我的意思是DBMS使用这些技术来优化单个查询。除非PHP静默地为此创建两个不同的物理连接,否则查询仍然不会并行运行。Postgres后端根本不支持这一点,一个连接一次只能运行一条语句。@a_horse_和_no_名字,我想是这样的。但是我在网上搜索了一下,我发现了。你是说PHP手册在这方面有误导性吗?