Re: Out of memory error - Mailing list pgsql-performance

From aditya desai
Subject Re: Out of memory error
Date
Msg-id CAN0SRDHoBqVK13rSr=A4f+AzzAD8SrT0L2z5m6-oh4Tau9U9pQ@mail.gmail.com
Whole thread Raw
In response to Re: Out of memory error  (Michael Lewis <mlewis@entrata.com>)
Responses Re: Out of memory error  (Thomas Kellerer <shammat@gmx.net>)
List pgsql-performance
H Michael,
Please see insert_info function below. Also r_log_message is composite data type and it's definition is also given below.

CREATE OR REPLACE FUNCTION insert_info(
    info_array  r_log_message[]
) RETURNS varchar AS $$
    DECLARE
        info_element  r_log_message;
    BEGIN
        FOREACH info_element IN ARRAY info_array
        LOOP
            INSERT INTO testaditya(
                columname,
                oldvalue,
                newvalue
            ) VALUES(
                info_element.column_name,
                info_element.oldvalue,
                info_element.newvalue
            );
        END LOOP;
        RETURN 'OK';
    END;
$$ LANGUAGE plpgsql;


postgres=# \d r_log_message;
                 Composite type "public.r_log_message"
   Column    |          Type           | Collation | Nullable | Default
-------------+-------------------------+-----------+----------+---------
 column_name | character varying(30)   |           |          |
 oldvalue    | character varying(4000) |           |          |
 newvalue    | character varying(4000) |           |          |

Regards,
Aditya.



On Wed, Nov 24, 2021 at 12:16 PM Michael Lewis <mlewis@entrata.com> wrote:
It seems like that function has some syntax errors, and also doesn't do what you want since I presume the "from employee" bit would mean you get many rows inserted into that temp table for all the existing data and not the one row you are operating on at the moment the trigger fires.

It is worth noting also that if bulk operations are at all common for this table then writing this as an after statement trigger will likely be helpful for performance.

For full context, we'd need to see how the function insert_info is defined.

pgsql-performance by date:

Previous
From: Michael Lewis
Date:
Subject: Re: Out of memory error
Next
From: aditya desai
Date:
Subject: Re: Out of memory error