2014-01-29 32 views
1

在Postgres中,每个连接只有一个正在执行的查询是否存在限制(连接中的其他查询等待第一个在它们开始之前完成)?我想我在一个驱动程序中看到了这一点,所以我想确定这是一个数据库行为,而不是一个特定的驱动程序限制。Postgres:连接中的并发查询

+0

您是否在寻找类似[locking](http://www.postgresql.org/docs/9.1/static/explicit-locking.html)的东西? – Houari

+0

不,我只是想了解事情是如何工作的......以及通过使用单个而不是多个连接获得和失去的东西 –

+5

每个连接一个查询。您在等待它时不必阻止客户端:http://www.postgresql.org/docs/current/static/libpq-async.html –

回答

4

在Postgres里是有具有每个连接

是仅有一个正在执行的查询的限制。 PostgreSQL不允许您暂停和恢复事务,也不支持服务器后端的后台(异步)查询。

您仍然可以运行多个并发查询,每个并发查询只需要一个连接。您可以使用线程(每个连接一个线程),但通常在客户端库中使用异步查询接口会更好。

不知道你在试图达到什么目标,以及你使用什么编程语言(以及客户端库),很难提供更详细的建议。