Add Pipelining support in psql

From: Anthonin Bonnefoy <anthonin(dot)bonnefoy(at)datadoghq(dot)com>
To: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Add Pipelining support in psql
Date: 2024-11-27 09:50:25
Message-ID: CAO6_XqroE7JuMEm1sWz55rp9fAYX2JwmcP_3m_v51vnOFdsLiQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

With \bind, \parse, \bind_named and \close, it is possible to issue
queries from psql using the extended protocol. However, it wasn't
possible to send those queries using pipelining and the only way to
test pipelined queries was through pgbench's tap tests.

The attached patch adds pipelining support to psql with 3 new
meta-commands, mirroring what's already done in pgbench:
- \startpipeline starts a new pipeline. All extended queries will be
queued until the end of the pipeline is reached.
- \endpipeline ends an ongoing pipeline. All queued commands will be
sent to the server and all responses will be processed by the psql.
- \syncpipeline queue a synchronisation point without flushing the
commands to the server

Those meta-commands will allow testing pipelined query behaviour using
psql regression tests.

Regards,
Anthonin

Attachment Content-Type Size
v01-0001-Add-pipelining-support-in-psql.patch application/octet-stream 30.8 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message wenhui qiu 2024-11-27 10:00:33 Re: An inefficient query caused by unnecessary PlaceHolderVar
Previous Message Michail Nikolaev 2024-11-27 09:50:15 Re: Strange assertion in procarray.c