AW: PostgreSQL 10 initdb with locale de-x-icu fails on Windows Server 2012

From: "ROSESOFT S(dot) Hoffmann" <sh(at)rosesoft(dot)de>
To: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
Cc: "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: AW: PostgreSQL 10 initdb with locale de-x-icu fails on Windows Server 2012
Date: 2022-07-04 11:53:40
Message-ID: dcc0c45752a2485099c4d2608e0b6086@rosesoft.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hello Kyotaro Horiguchi,

i still think this a bug, because "createdb" also can't use any ICU-collations (same error message).

On Windows Server 2016/2019/2022 and Windows 10/11 the ICU-Options work as expected!
Why does the problem only occurs on Windows Server 2012?

An Upgrade to PostgreSQL 15 is not an option, now.

Best Regards,
Stefan.

-----Ursprüngliche Nachricht-----
Von: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
Gesendet: Montag, 4. Juli 2022 02:34
An: ROSESOFT S. Hoffmann <sh(at)rosesoft(dot)de>
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org
Betreff: Re: PostgreSQL 10 initdb with locale de-x-icu fails on Windows Server 2012

At Fri, 1 Jul 2022 13:07:13 +0000, "ROSESOFT S. Hoffmann" <sh(at)rosesoft(dot)de> wrote in
> initdb.exe .. -E UTF8 --locale=de-x-icu --text-search-config=german ..
>
> Error message:
> initdb: ungültiger Locale-Name »de-x-icu«

> According to https://www.postgresql.org/download/windows/ PostgreSQL
> 10 is supported by Windows Server 2012.

If you are unfortunately using PostgreSQL 10, it doesn't support ICU collations as the default for databases. It's a new feature of 15.

https://www.postgresql.org/docs/15/release-15.html
> - Allow ICU collations to be set as the default for clusters and
> databases (Peter Eisentraut)
> Previously, ICU collations could only be specified in CREATE
> COLLATION and used with the COLLATE clause.

If you are using PG15, --icu-locale accompanied by --locale-provider=icu instead of --locale will work for you.

https://www.postgresql.org/docs/devel/app-initdb.html

> Alternatively, the ICU library can be used to provide locale services.
> (Again, this only sets the default for subsequently created
> databases.) To select this option, specify --locale-provider=icu. To
> choose the specific ICU locale ID to apply, use the option
> --icu-locale. Note that for implementation reasons and to support
> legacy code, initdb will still select and initialize libc locale
> settings when the ICU locale provider is used.

regards.

--
Kyotaro Horiguchi
NTT Open Source Software Center

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Christoph Berg 2022-07-04 14:38:26 Re: BUG #17504: psql --single-transaction -vON_ERROR_STOP=1 still commits after client-side error
Previous Message Alvaro Herrera 2022-07-04 09:32:38 Re: Using PQexecQuery in pipeline mode produces unexpected Close messages