On 6/3/22 3:58 PM, Tom Lane wrote
> Thomas Munro <thomas.munro@gmail.com> writes:
>> On Sat, Jun 4, 2022 at 7:13 AM Jeremy Schneider
>> <schneider@ardentperf.com> wrote:
>>> It feels to me like we're still not really thinking clearly about this
>>> within the PG community, and that the seriousness of this issue is not
>>> fully understood.
>> FWIW A couple of us tried quite hard to make smarter warnings, and
>> that thread and others discussed a lot of those topics, like the
>> relevance to constraints and so forth.
> I think the real problem here is that the underlying software mostly
> doesn't take this issue seriously. Unfortunately, that leads one to
> the conclusion that we need to maintain our own collation code and
> data (e.g., our own fork of ICU), and that isn't happening. Unlike
> say Oracle, we do not have the manpower; nor do we want to bloat our
> code base that much.
>
> Short of maintaining our own fork, ranting about the imperfections
> of the situation is a waste of time.
The first step to a solution is admitting that the problem exists.
Ignoring broken backups, segfaults and data corruption as a "rant"
implies that we simply throw in the towel and tell users to suck it up
or switch engines. There are other ways to address this short of the
community doing all the work itself. One simple example would be to
refuse to start if the collation provider has changed since initdb
(which we'd need to allow users to override). A more sophisticated
option would be to provide the machinery for supporting multiple
collation libraries. Both of those at least ensure that users are aware
any time there's a problem, which IMO is *enormously* better than
letting core functionality silently stop working.