Today, the only feasible solution is not to create more than 64 subtransactions (savepoints or PL/pgSQL EXCEPTION clauses) per transaction. Don't use extensions or the JDBC driver option to simulate statement level rollback, that is the road to hell. You mean extensions to simulate a subtransaction like pg_background ? for JDBC driver option to simulate statement level rollback, could you share more details ? Thanks, James -----Original Message----- From: Laurenz Albe <laurenz.albe@xxxxxxxxxxx> Sent: Thursday, February 1, 2024 8:42 PM To: James Pang (chaolpan) <chaolpan@xxxxxxxxx>; pgsql-performance@xxxxxxxxxxxxxxxxxxxx Subject: Re: huge SubtransSLRU and SubtransBuffer wait_event On Thu, 2024-02-01 at 11:50 +0000, James Pang (chaolpan) wrote: > We have a Postgresqlv14.8 server, client use Postgresql JDBC > connections, today, our server see a lot of “SubtransBuffer” and “SubtransSLRU” wait_event. > Could you help direct me what’s the possible cause and how to resolve this waits ? Today, the only feasible solution is not to create more than 64 subtransactions (savepoints or PL/pgSQL EXCEPTION clauses) per transaction. Don't use extensions or the JDBC driver option to simulate statement level rollback, that is the road to hell. Yours, Laurenz Albe