Re: huge SubtransSLRU and SubtransBuffer wait_event - Mailing list pgsql-performance

From Laurenz Albe
Subject Re: huge SubtransSLRU and SubtransBuffer wait_event
Date
Msg-id 2b019310739379c9eea5d922d2646e04fb1f2ac8.camel@cybertec.at
Whole thread Raw
In response to Re: huge SubtransSLRU and SubtransBuffer wait_event  (Nikolay Samokhvalov <samokhvalov@gmail.com>)
List pgsql-performance
On Fri, 2024-02-02 at 02:04 -0800, Nikolay Samokhvalov wrote:
> On Thu, Feb 1, 2024 at 04:42 Laurenz Albe <laurenz.albe@cybertec.at> wrote:
> > Today, the only feasible solution is not to create more than 64 subtransactions
> > (savepoints or PL/pgSQL EXCEPTION clauses) per transaction.
>
> I think 64+ nesting level is quite rare

It doesn't have to be 64 *nested* subtransactions.  This is enough:

CREATE TABLE tab (x integer);

DO
$$DECLARE
   i integer;
BEGIN
   FOR i IN 1..70 LOOP
      BEGIN
         INSERT INTO tab VALUES (i);
      EXCEPTION
         WHEN unique_violation THEN
            NULL; -- ignore
      END;
   END LOOP;
END;$$;

Yours,
Laurenz Albe



pgsql-performance by date:

Previous
From: Nikolay Samokhvalov
Date:
Subject: Re: huge SubtransSLRU and SubtransBuffer wait_event
Next
From: "James Pang (chaolpan)"
Date:
Subject: RE: huge SubtransSLRU and SubtransBuffer wait_event