Hello, 

I'm investigating Batch/pipelining mode for libpq connected to this thread: 
https://www.postgresql.org/message-id/flat/CADT4RqA6XoDCVY-G13ME1oRVshE2oNk4fRHKZC0K-jJymQJV0Q%40mail.gmail.com#cadt4rqa6xodcvy-g13me1orvshe2onk4frhkzc0k-jjymqj...@mail.gmail.com
And I'm wondering, what are the possibilities to speed up execution of 
asynchronous queries yet more. What I need is to make a huge amount of inserts 
(or other sorts of queries either returning no results or those which results  
I'd like somehow to ignore completely) very quickly, so the idea to use batch 
mode sounds rather good for me taking into account  
https://blog.2ndquadrant.com/postgresql-latency-pipelining-batching/

So I'd like to create the corresponding prepared statement and to perform 
asynchronously all these queries through this prepared statement. What I'm 
trying to do now is to understand (at least in general):
1) is it possible technically (possibly by changing some part of libpq code) to 
ignore results (especially for this sort of queries like insert), processing 
somehow separately the situation when some error occurs? 
2) if the answer to the previous question is negative, is it possible to send 
asynchronous queries in one thread while reading results in another thread? I 
understand that this immediately contradicts the requirement not to use the 
same PGconn object in different threads. But may be some locks of this PGconn 
object are possible, so that the state of PGconn cannot be made in one thread 
while the other locks PGconn and vice versa?

Naturally I failed to implement this without locking, info in PGconn very 
quickly becomes inconsistent, the number of queries sent does not correspond to 
the number of results to be read, etc. So I'd like to know at first is it 
possible at all (possibly by some changes to be made in libpq)? Sorry if my 
idea sounds rather naive. And thanks for your answer and advice. 

Only in the case all this sounds not so stupid and something is possible to 
make, I'd like to ask for some details, if you do not mind.

Thank you very much again in advance.

With my best regards,
Ilya

Reply via email to