Re: proposal: change behavior on collation version mismatch - Mailing list pgsql-hackers

From Jeff Davis
Subject Re: proposal: change behavior on collation version mismatch
Date
Msg-id 2c1596c7686c1377713ce2ba4895186da6028956.camel@j-davis.com
Whole thread Raw
In response to proposal: change behavior on collation version mismatch  (Jeremy Schneider <schnjere@amazon.com>)
Responses Re: proposal: change behavior on collation version mismatch
Re: proposal: change behavior on collation version mismatch
List pgsql-hackers
On Mon, 2023-11-27 at 11:06 -0800, Jeremy Schneider wrote:
> I've been tracking the discussions around collation here on the lists
> and I've had a number of conversations with folks working deeply in
> this
> area inside and outside of AWS, and I was part of the effort to
> address
> it at AWS since we first became aware of it many years ago.

For the record, I don't have a strong opinion on your specific
proposals. Not because I don't care, but because the available options
all seem pretty bad -- including the status quo.

My general opinion (not tied specifically to your proposals) is that we
need to pursue a lot of different approaches and hope to mitigate the
problem. With that in mind, I think your proposals have merit but we of
course need to consider the downsides.

> 2) "most users would rather have ease-of-use than 100% safety, since
> it's uncommon"
>
> And I think this led to the current behavior of issuing a warning
> rather
> than an error

The elevel trade-off is *availability* vs safety, not ease-of-use vs
safety. It's harder to reason about what most users might want in that
situation.

> First: I'd suggest that a collation version mismatch should cause an
> ERROR rather than a WARNING by default.

Is this proposal based on our current notion of collation version?
There's been a lot of reasonable skepticism that what's stored in
datcollversion is a good indicator.

> If we want to have a GUC that
> allows warning behavior, I think that's OK but I think it should be
> superuser-only and documented as a "developer" setting similar to
> zero_damaged_pages.

A GUC seems sensible to express the availability-vs-safety trade-off. I
suspect we can get a GUC that defaults to "warning" committed, but
anything else will be controversial.

Regards,
    Jeff Davis




pgsql-hackers by date:

Previous
From: Mark Dilger
Date:
Subject: Re: Table AM Interface Enhancements
Next
From: Tom Lane
Date:
Subject: Re: Missing docs on AT TIME ZONE precedence?