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/