Re: [PG19] Indexes from 18 miss rows after pg_upgrade

From: shihao zhong <zhong950419(at)gmail(dot)com>
To: Jeff Davis <pgsql(at)j-davis(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Peter Eisentraut <peter(at)eisentraut(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: [PG19] Indexes from 18 miss rows after pg_upgrade
Date: 2026-10-17 03:32:24
Message-ID: CAGRkXqTkMQW9okJ3NLoY5HFosfRxoB3vqxoVM59cW5=N4BqvOA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Jeff,

> Is that still just a release note, or does it demand something more?

I think it needs more. With LC_CTYPE C, text search changed too, not
only pg_trgm. In a builtin C.UTF-8 database:

select to_tsvector('simple', 'foo—bar don’t naïve');
18.6: 'don’t':2 'foo—bar':1 'naïve':3
19rc1: 'bar':2 'don':3 'foo':1 'naïve':5 't':4

In my upgrade test, every text search and pg_trgm index in ICU and
builtin databases with LC_CTYPE C missed rows. Any accent or curly
quote is enough.

I did some history check and found fb1a18810f, the 18 notes said to reindex
all of them, so I think pg_upgrade should name the indexes, as the
patch does.

> Should that note be expanded?

Yes. Stems also changed for english, german, swedish, lithuanian,
french and norwegian.... The note may also need a cover extension like
fuzzystrmatch, which changed in libc databases too.

Thanks,
Shihao

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message shihao zhong 2026-10-17 03:41:20 Re: [PG19] Three bugs with a CHECK constraint that only the child enforces
Previous Message shihao zhong 2026-10-17 03:23:05 Re: [PATCH] Fix grouping-set nulling of variable-free grouping expressions