From: | "Daniel Verite" <daniel(at)manitou-mail(dot)org> |
---|---|
To: | "Anthonin Bonnefoy" <anthonin(dot)bonnefoy(at)datadoghq(dot)com> |
Cc: | Michael Paquier <michael(at)paquier(dot)xyz>, Jelte Fennema-Nio <postgres(at)jeltef(dot)nl>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Add Pipelining support in psql |
Date: | 2025-02-28 16:31:00 |
Message-ID: | ad4b9f1a-f7fe-4ab8-8546-90754726d0be@manitou-mail.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Anthonin Bonnefoy wrote:
> > What is the reasoning here behind this restriction? \gx is a wrapper
> > of \g with expanded mode on, but it is also possible to call \g with
> > expanded=on, bypassing this restriction.
>
> The issue is that \gx enables expanded mode for the duration of the
> query and immediately reset it in sendquery_cleanup. With pipelining,
> the command is piped and displaying is done by either \endpipeline or
> \getresults, so the flag change has no impact. Forbidding it was a way
> to make it clearer that it won't have the expected effect
But it's not just \gx
The following invocations don't respect the desired output destination
and formats (ignoring them), when a pipeline is active:
select ... \bind \g filename
select ... \bind \g |program
select ... \bind \g (format=unaligned tuples_only=on)
Just like for \gx the problem is that in a pipeline, sending the query
is not followed by getting the results, and the output properties
of a query are lost in between.
Best regards,
--
Daniel Vérité
https://postgresql.verite.pro/
From | Date | Subject | |
---|---|---|---|
Next Message | Thom Brown | 2025-02-28 16:37:20 | Space missing from EXPLAIN output |
Previous Message | Thomas Munro | 2025-02-28 16:26:20 | Re: Adding NetBSD and OpenBSD to Postgres CI |