Re: Reduce build times of pg_trgm GIN indexes

David Geier <geidav.pg@gmail.com>

From: David Geier <geidav.pg@gmail.com>
To: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>, Peter Eisentraut <peter@eisentraut.org>
Cc: Heikki Linnakangas <hlinnaka@iki.fi>, Matthias van de Meent <boekewurm+postgres@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2026-04-13T15:03:11Z
Lists: pgsql-hackers
Hi!

On 13.04.2026 13:04, Bertrand Drouvot wrote:
> Hi,
> 
> On Mon, Apr 13, 2026 at 11:41:02AM +0200, Peter Eisentraut wrote:
>> On 09.04.26 13:28, Bertrand Drouvot wrote:
>>>
>>> This commit makes use of StaticAssertStmt() that has been deprecated in
>>> d50c86e74375. The attached, fixes it.

I cannot find a comment close to StaticAssertStmt() that says it got
deprecated. Is the goal to completely get rid of StaticAssertStmt()?

>> I think the position of the static assertion is correct, because it refers
>> to the palloc0_array() that follows.  Maybe the comment could be a bit
>> clearer, like "using palloc0_array requires GIN_CAT_NORM_KEY==0"?
> 
> Yeah that looks better to not lose the connection with palloc0_array() here.
> Done that way in the attached and adding new braces to avoid warning from
> -Wdeclaration-after-statement.

Looks good to me.

--
David Geier



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Change PointerGetDatum() back to a macro

  2. Replace deprecated StaticAssertStmt() with StaticAssertDecl()

  3. Optimize sorting and deduplicating trigrams

  4. Optimize sort and deduplication in ginExtractEntries()

  5. Inline ginCompareAttEntries for speed