Postgresql 如果使用相同的DB连接运行两个SQL命令,会发生什么?

Postgresql 如果使用相同的DB连接运行两个SQL命令,会发生什么?,postgresql,Postgresql,我正在编写一个程序来运行大规模计算并将结果输出到PostgreSQL中 我的平台是Windows Server 2008,PostgreSQL 10。我的程序是用C写的 结果将一组一组地生成,完成每个组将创建一个额外的线程来写入输出 现在,由于输出线程是一个接一个地创建的,因此有可能同时创建两个或多个SQL输入命令,或者当新的SQL输入命令调用函数时,前一个SQL输入命令正在处理中 因此,我的问题是: (1) 如果一个线程正在进行SQL处理,而另一个线程名为PQexec(PGconn*conn,

我正在编写一个程序来运行大规模计算并将结果输出到PostgreSQL中

我的平台是Windows Server 2008,PostgreSQL 10。我的程序是用C写的

结果将一组一组地生成,完成每个组将创建一个额外的线程来写入输出

现在,由于输出线程是一个接一个地创建的,因此有可能同时创建两个或多个SQL输入命令,或者当新的SQL输入命令调用函数时,前一个SQL输入命令正在处理中

因此,我的问题是:

(1) 如果一个线程正在进行SQL处理,而另一个线程名为
PQexec(PGconn*conn,const char*query)
,它们会相互影响吗


(2) 如果我应用不同的
PGconn
?它会加速吗?

如果在执行SQL语句的过程中尝试对连接调用
PQexec
,则会导致协议冲突。那根本不管用


如果在并行中使用多个数据库连接,处理速度肯定会更快—并发事务是PostgreSQL的设计目标。

这意味着,如果我给每个线程1个数据库连接,则可以同时插入结果??是的,绝对可以。