Re: BUG #19520: PANIC when concurrently manipulating stored procedures with pg_stat_statements and track_functions =
Álvaro Herrera <alvherre@kurilemu.de>
From: Álvaro Herrera <alvherre@kurilemu.de>
To: Michael Paquier <michael@paquier.xyz>
Cc: Ayush Tiwari <ayushtiwari.slg01@gmail.com>, Sami Imseih <samimseih@gmail.com>, zlh21343@163.com,
pgsql-bugs@lists.postgresql.org, Andres Freund <andres@anarazel.de>,
Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Date: 2026-06-20T16:58:27Z
Lists: pgsql-bugs
On 2026-Jun-20, Michael Paquier wrote: > 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? Yeah, this sounds more or less reasonable. The callers that pass missing_ok=false could still use the original function name though, no? (Personally I would do for an ABI compatibility in back branches with this new function, and an API breakage in master by simply adding the new argument everywhere, but keeping the old function name. This way we don't preserve unnecessary API ugliness forever.) -- Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/ "¿Qué importan los años? Lo que realmente importa es comprobar que a fin de cuentas la mejor edad de la vida es estar vivo" (Mafalda)
Commits
-
Re-introduce pgstat_drop_entry(), keeping ABI compatibility
- 9e47718250d8 15 (unreleased) landed
- e34b1ff5d894 16 (unreleased) landed
- afb076b2977c 17 (unreleased) landed
- fe464e9e6863 18 (unreleased) landed
-
Update .abi-compliance-history for pgstat_drop_entry()
- 75aca8b932e8 15 (unreleased) landed
- 7c457ea15c6d 16 (unreleased) landed
- 39e649d44a1d 17 (unreleased) landed
- 8a4f389ddce5 18 (unreleased) landed
-
Fix PANIC with track_functions due to concurrent drop of pgstats entries
- 1e9e62193c3f 15 (unreleased) landed
- bf4616b598a3 16 (unreleased) landed
- 2e0c61aed624 17 (unreleased) landed
- 5cc59834b860 18 (unreleased) landed
- 850b9218c8e4 19 (unreleased) landed