On Thu, Jan 16, 2020 at 6:08 PM Tom Lane <tgl@xxxxxxxxxxxxx> wrote: > > Richard van der Hoff <richard@xxxxxxxxxx> writes: > > I'm trying to track down the cause of some duplicate rows in a table > > which I would expect to be impossible due to a unique constraint. I'm > > hoping that somebody here will be able to suggest something I might have > > missed. > > Since these are text columns, one possibility you should be looking into > is that the indexes have become corrupt due to a change in the operating > system's sorting rules for the underlying locale. I don't recall details > at the moment, but I do remember that a recent glibc update changed the > sorting rules for some popular locale settings. If an installation had > applied such an update underneath an existing database, you'd have a > situation where existing entries in an index are not in-order according > to the new behavior of the text comparison operators, leading to havoc > because btree searching relies on the entries being correctly sorted. See https://wiki.postgresql.org/wiki/Locale_data_changes for hints on which linux distros updated when. -- Magnus Hagander Me: https://www.hagander.net/ Work: https://www.redpill-linpro.com/