Re: BUG #19520: PANIC when concurrently manipulating stored procedures with pg_stat_statements and track_functions =

From: Lukas Fittl <lukas(at)fittl(dot)com>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: Álvaro Herrera <alvherre(at)kurilemu(dot)de>, Ayush Tiwari <ayushtiwari(dot)slg01(at)gmail(dot)com>, Sami Imseih <samimseih(at)gmail(dot)com>, zlh21343(at)163(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org, Andres Freund <andres(at)anarazel(dot)de>, Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
Subject: Re: BUG #19520: PANIC when concurrently manipulating stored procedures with pg_stat_statements and track_functions =
Date: 2026-06-20 16:45:05
Message-ID: CAP53PkyBPpzGeAukc2BSp8m+K1p7PB7QjhfkQtYPhyR5VsW64A@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Sat, Jun 20, 2026 at 5:16 AM Michael Paquier <michael(at)paquier(dot)xyz> wrote:
>
> On Sat, Jun 20, 2026 at 01:09:59PM +0200, Alvaro Herrera wrote:
> > I think a better answer is to just not introduce the ABI change in
> > stable branches. That is, I think we should add a shim function so that
> > the third-party extensions can continue to use the original ABI; and
> > only in master you clean that up with a different API, whereby the
> > extension will be forced to have an #ifdef block for the 19 version or
> > the older versions, but that's fine because the extension has to be
> > recompiled for the new major version anyway so the end-user won't be
> > affected on a minor upgrade.
>
> If you feel strongly about it, we could just do something like the
> attached in the v15-v18 range. This introduces a new routine called
> pgstat_drop_entry_ext() that gains the new argument "missing_ok", and
> pgstat_drop_entry() would be an ABI-compatible wrapper calling it.
>
> What do you think?

As the developer of the extension in the picture, I was actually
surprised to see the commit making an ABI *and* API breaking change
(and I think with cumulative stats being pluggable in 18, we can
expect people to use public stats functions like pgstat_drop_entry in
extensions), precisely because of the issues Alvaro mentioned.

I think doing it with a new routine is what I would have expected to
happen to preserve API and ABI compatibility, and your follow-up patch
looks good to me.

Thanks,
Lukas

--
Lukas Fittl

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Álvaro Herrera 2026-06-20 16:58:27 Re: BUG #19520: PANIC when concurrently manipulating stored procedures with pg_stat_statements and track_functions =
Previous Message 王跃林 2026-06-20 16:30:33 Re: BUG #19528: Assert failure in generate_normalized_query() via Squashed Array Literals