Re: PLPGSQL - store fetched records in array of record

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: Durumdara <durumdara(at)gmail(dot)com>, Ron Johnson <ronljohnsonjr(at)gmail(dot)com>
Cc: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: PLPGSQL - store fetched records in array of record
Date: 2025-07-02 16:25:14
Message-ID: 70fdcda5-b4a8-4876-baa4-528cc80e057a@aklaver.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 7/2/25 07:26, Durumdara wrote:
> Sorry.
> I forgot to mention that I have two arrays (records).
>
> One for the modifiable elements, and one for the checkable elements.
>
> If there is a conflict between the actual mod. item and one of the
> checkable items, the checkable item will move to the end of the
> modification list.
> And the actual mod. item starting time could be changed in this process.
>
> First I imagined a temporary table, but I felt this has too much
> overhead against an "in memory" array.
> UPDATE, INSERT, DELETE and reopen after each modification.

Assuming it is installed and you have the necessary permissions there is
plpython3u. As it is Python it is looser on types. As example:

CREATE OR REPLACE FUNCTION public.python_test()
RETURNS void
LANGUAGE plpython3u
AS $function$
rec_list = []

for row in plpy.cursor("select category_fk, cell_per from cell_per where
cell_per > 1"):
rec_list.append({"cat": row["category_fk"], "cp": row["cell_per"]})
plpy.notice(rec_list)

$function$
;

select * from python_test();
NOTICE: [{'cat': 'HERB 3.5', 'cp': 18}, {'cat': 'H PREM 3.5', 'cp':
18}, {'cat': 'HERB 2.5', 'cp': 32}, {'cat': 'H PREM 2.5', 'cp': 32},
{'cat': 'GER SC 3.5', 'cp': 18}, {'cat': 'SUCCULENTS', 'cp': 18}]
python_test
-------------

(1 row)

>
>
> Ron Johnson <ronljohnsonjr(at)gmail(dot)com <mailto:ronljohnsonjr(at)gmail(dot)com>>
> ezt írta (időpont: 2025. júl. 2., Sze, 15:29):
>
> On Wed, Jul 2, 2025 at 8:21 AM Durumdara <durumdara(at)gmail(dot)com
> <mailto:durumdara(at)gmail(dot)com>> wrote:
>
> Hello!
>
> I have to store some fetched records into two lists (arrays) to
> work with them.
>
>
> There's almost certainly a way to do what you need done without
> using arrays.  Might require a bit of rethinking, though.
> --
> Death to <Redacted>, and butter sauce.
> Don't boil me, I'm still alive.
> <Redacted> lobster!
>

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Santhosh S 2025-07-02 18:28:33 Foreign Data Wrapper from Oracle to Postgres 16
Previous Message Laurenz Albe 2025-07-02 16:01:47 Re: Postgresql support for Windows Server 2025