Re: Retrieve results in PostgreSQL stored procedure allowing query parallelism - Mailing list pgsql-general

From Joan Pujol
Subject Re: Retrieve results in PostgreSQL stored procedure allowing query parallelism
Date
Msg-id CACdKRvK3yxx5zbm79HpoV__fvTR0NcRaXO6em5Pr+FkAp_8iTQ@mail.gmail.com
Whole thread Raw
In response to Re: Retrieve results in PostgreSQL stored procedure allowing query parallelism  ("David G. Johnston" <david.g.johnston@gmail.com>)
Responses Re: Retrieve results in PostgreSQL stored procedure allowing query parallelism
List pgsql-general
Thanks, David.

If I try to do something like:
EXECUTE SELECT INTO ARRAY_AGG(t.*) INTO result_records
Would internally use cursors too and have the same restrictions?

Cheers,

On Tue, 21 Nov 2023 at 19:22, David G. Johnston
<david.g.johnston@gmail.com> wrote:
>
> On Tue, Nov 21, 2023, 11:10 Joan Pujol <joanpujol@gmail.com> wrote:
>>
>> I want to execute an SQL query and process its results inside a stored
>> procedure without preventing query parallelism. Since I don't want to
>> prevent query parallelism, cursors can't be used, and I would like to
>> avoid creating a temporal table.
>>
>> Is this possible? If so, what is the best way to execute the query,
>> retrieve all results in memory, and process them inside the stored
>> procedure?
>
>
> You must use create table as if you want a result that is both accessible to subsequent statements and uses
parallelismto be produced.  There is no saving results into memory - you either save them explicitly or iterate over
themand the later prevents parallelism as you've noted. 
>
> David J.



--
Joan Jesús Pujol Espinar
http://www.joanpujol.cat



pgsql-general by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: Retrieve results in PostgreSQL stored procedure allowing query parallelism
Next
From: CG
Date:
Subject: Removing oids with pg_repack