public inbox for [email protected]  
help / color / mirror / Atom feed
From: Jonathan S. Katz <[email protected]>
To: Jeff Davis <[email protected]>
To: [email protected]
Subject: Re: Move defaults toward ICU in 16?
Date: Tue, 14 Feb 2023 16:27:50 -0500
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
	<[email protected]>

On 2/13/23 8:11 PM, Jeff Davis wrote:
> On Thu, 2023-02-02 at 05:13 -0800, Jeff Davis wrote:
>> As a project, do we want to nudge users toward ICU as the collation
>> provider as the best practice going forward?
> 
> One consideration here is security. Any vulnerability in ICU collation
> routines could easily become a vulnerability in Postgres.

Would it be any different than a vulnerability in OpenSSL et al? I know 
that's a general, nuanced question but it would be good to understand if 
we are exposing ourselves to any more vulnerabilities. And would it be 
any different than today, given people can build PG with libicu as is?

Continuing on $SUBJECT, I wanted to understand performance comparisons. 
I saw your comments[1] in response to Robert's question, looked at your 
benchmarks[2] and one that ICU ran on older versions[3]. It seems that 
in general, users would see performance gains switching to ICU. The only 
one in [3] that stood out to me was the tests on the "ko_KR" collation 
underperformed on a list of Korean names, but maybe that is better in 
newer versions.

I agree with most of your points in [1]. The platform-consistent 
behavior is a good point, especially with more PG deployments running on 
different systems. While taking on a new dependency is a concern, ICU 
was released in 1999[4], has an active community, and seems to follow 
standards (i.e. the Unicode Consortium).

I do wonder about upgrades, beyond the ongoing work with pg_upgrade. I 
think the logical methods (pg_dumpall, logical replication) should 
generally be OK, but we should ensure we think of things that could go 
wrong and how we'd answer them.

Based on the available data, I think it's OK to move towards ICU as the 
default, or preferred, collation provider. I agree (for now) in not 
taking a hard dependency on ICU.

Thanks,

Jonathan

[1] 
https://www.postgresql.org/message-id/b676252eeb57ab8da9dbb411d0ccace95caeda0a.camel%40j-davis.com
[2] 
https://www.postgresql.org/message-id/[email protected]
[3] https://icu.unicode.org/charts/collation-icu4c48-glibc
[4] https://en.wikipedia.org/wiki/International_Components_for_Unicode


Attachments:

  [application/pgp-signature] OpenPGP_signature (840B, ../[email protected]/2-OpenPGP_signature)
  download

view thread (5+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected]
  Subject: Re: Move defaults toward ICU in 16?
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox