On Wed, 27 Nov 2024 at 14:50, Anthonin Bonnefoy <anthonin.bonne...@datadoghq.com> wrote: > > 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.
Hello, good concept. Our connection pooler testing will greatly benefit from this feature. At the moment, our tests are golang-based and build pipelines in extended proto and verify the outcome. Regression tests based on SQL will be far more thorough and organic. > 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 I'm very doubtful about the \syncpipeline . Maybe we should instead support \sync meta-command in psql? This will be a useful contribution itself. > Those meta-commands will allow testing pipelined query behaviour using > psql regression tests. > > Regards, > Anthonin I haven't looked into the patch in detail yet. -- Best regards, Kirill Reshke