Postgres中的多语句查询

时间:2014-07-31 00:26:02

标签: postgresql

我希望向Postgres数据库发送多个读取查询,以减少需要对痛苦的远程数据库进行的跳闸次数。 libpq中是否有任何内容支持此行为?

1 个答案:

答案 0 :(得分:2)

是的,您可以在libpq中使用asynchronous handling functions。在链接页面上显示:

  

使用PQsendQuery和PQgetResult解决了PQexec的一个问题:如果   命令字符串包含多个SQL命令,这些命令的结果   命令可以单独获得。 (这允许一种简单的形式   重复处理,顺便说一句:客户端可以处理   服务器稍后仍在运行时的一个命令的结果   查询在同一个命令字符串中。)

例如,您应该能够使用包含多个查询的字符串调用PQsendQuery,然后重复调用PQgetResult以获取结果集。当没有更多结果集要获取时,PQgetResult返回NULL。

如果需要,您还可以在等待执行这些查询时避免应用程序阻塞(在链接页面上有更详细的描述)。