Re: ICU warnings during make installcheck and text_extensions test

Oleg Tselebrovskiy <o.tselebrovskiy@postgrespro.ru>

From: Oleg Tselebrovskiy <o.tselebrovskiy@postgrespro.ru>
To: Alexander Korotkov <aekorotkov@gmail.com>
Cc: pgsql-hackers@postgresql.org
Date: 2025-07-29T09:45:25Z
Lists: pgsql-hackers

Attachments

Alexander Korotkov wrote at 2025-07-28 20:04:
> Hi, Oleg!
> 
> Thank you for raising this issue.  I don't think ignoring a warning is
> an option.  The tests contain locale-sensitive orderings.  Thus, if we
> don't manage to create a C-like locale, tests fail anyway for me.
> Ignoring tests is an unfavorable solution.
> 
> I see two (better) options to resolve this issue:
> 1) Specify LOCALE_PROVIDER='builtin' in the CREATE DATABASE command.
> 2) Specify 'en-US-u-va-posix' as a locale name when template0 has an
> ICU locale provider.
> 
> The #1 looks simpler.  The patch is attached.  What do you think?
> 
> ------
> Regards,
> Alexander Korotkov
> Supabase

Thanks for your response!

Your patch works with REL_17 & master, but not with REL_16, since there 
is no builtin provider

So if we're going that route, for PostgreSQL 16 and older we could just 
use libc provider instead of builtin for the same effect (see attached)

I've run installcheck-world for both 'builtin' and 'libc', both seem to 
work fine

Dunno what about tests like collate.icu.utf8.sql that require icu 
databases to run. Will those tests be run if we force non-icu locale 
providers in pg_regress? We probaly want them to be run sometimes, 
right? Except this, LGTM

Regards, Oleg Tselebrovskiy

Commits

  1. Specify locale provider for pg_regress --no-locale