Re: Eliminating SPI / SQL from some RI triggers - take 3

Sandro Santilli <strk@kbt.io>

From: Sandro Santilli <strk@kbt.io>
To: Tomas Vondra <tomas@vondra.me>
Cc: Amit Langote <amitlangote09@gmail.com>, Junwang Zhao <zhjwpku@gmail.com>, Pavel Stehule <pavel.stehule@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2026-04-09T11:07:50Z
Lists: pgsql-hackers
On Mon, Mar 02, 2026 at 01:34:41PM +0100, Tomas Vondra wrote:
> 
> TBH I haven't noticed the memory context issue myself, I only noticed
> because the builds with index prefetch started crashing.

We're getting a crash in PostGIS too, since that commit was merged into
the master branch, see https://trac.osgeo.org/postgis/ticket/6066

The crash is triggered a C function using SPI.

--strk;

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Fix some const qualifier use in ri_triggers.c

  2. doc: Improve consistency of parallel vacuum description.

  3. Move afterTriggerFiringDepth into AfterTriggersData

  4. Fix typo left by 34a30786293

  5. Fix RI fast-path crash under nested C-level SPI

  6. Add nkeys parameter to recheck_matched_pk_tuple()

  7. Fix deferred FK check batching introduced by commit b7b27eb41a5

  8. Optimize fast-path FK checks with batched index probes

  9. Make FastPathMeta self-contained by copying FmgrInfo structs

  10. Add fast path for foreign key constraint checks