Re: Postgres 12: backend crashes when creating non-deterministic collation

From: "Daniel Verite" <daniel(at)manitou-mail(dot)org>
To: "Thomas Kellerer" <spam_eater(at)gmx(dot)net>
Cc: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: Postgres 12: backend crashes when creating non-deterministic collation
Date: 2019-10-04 16:49:48
Message-ID: 60e84145-3db4-4fdf-ad25-b310128e9d54@manitou-mail.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Thomas Kellerer wrote:

> > To get a case insensitive collation you'd have to use something like
> >
> > LOCALE = 'de-DE-u-ks-level2'
>
> Creating works, but apparently on Windows ICU does not support this.

After installing v12 on windows with the EDB installer, I notice
that it ships with ICU 53, a relatively old version (2014).

Concerning the problem just above (not the crash), ICU 53 is too old
to support BCP47 tags as collation attributes, as mentioned
at https://www.postgresql.org/docs/12/collation.html :

"The first example selects the ICU locale using a “language tag” per
BCP 47. The second example uses the traditional ICU-specific locale
syntax. The first style is preferred going forward, but it is not
supported by older ICU versions.

With ICU 53 or older, instead of the locale above, we must use the
old-style syntax:

locale = 'de-DE(at)colStrength=secondary'

If you use that in your example, the case insensitive lookups should
work.

But it's unfortunate that the EDB build did not switch to a recent ICU
version for PostgreSQL 12.

Best regards,
--
Daniel Vérité
PostgreSQL-powered mailer: http://www.manitou-mail.org
Twitter: @DanielVerite

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Moreno Andreo 2019-10-04 16:53:22 Re: Pg11 -- MultiXactId xxxx has not been created yet -- apparent wraparound
Previous Message Peter Geoghegan 2019-10-04 16:43:31 Re: Clarification on the release notes of postgresql 12 regarding pg_upgrade