Implement pipeline mode in libpq
Pipeline mode in libpq lets an application avoid the Sync messages in
the FE/BE protocol that are implicit in the old libpq API after each
query. The application can then insert Sync at its leisure with a new
libpq function PQpipelineSync. This can lead to substantial reductions
in query latency.
Co-authored-by: Craig Ringer
Co-authored-by: Matthieu Garrigues
Co-authored-by: Álvaro Herrera
Reviewed-by: Andres Freund
Reviewed-by: Aya Iwata
Reviewed-by: Daniel Vérité
Reviewed-by: David G. Johnston
Reviewed-by: Justin Pryzby
Reviewed-by: Kirk Jamison
Reviewed-by: Michael Paquier
Reviewed-by: Nikhil Sontakke
Reviewed-by: Vaishnavi Prabakaran
Reviewed-by: Zhihong Yu
Discussion: https://postgr.es/m/CAMsr+YFUjJytRyV4J-16bEoiZyH=4nj+sQ7JP9ajwz=B4dMMZw@mail.gmail.com
Discussion: https://postgr.es/m/CAJkzx4T5E-2cQe3dtv2R78dYFvz+in8PY7A8MArvLhs_pg75gg@mail.gmail.com