Re: Ways to change a database collation with removing duplicates
От | Tom Lane |
---|---|
Тема | Re: Ways to change a database collation with removing duplicates |
Дата | |
Msg-id | 1253567.1678568003@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: Ways to change a database collation with removing duplicates (Erik Wienhold <ewie@ewie.name>) |
Ответы |
Re: Ways to change a database collation with removing duplicates
|
Список | pgsql-admin |
Erik Wienhold <ewie@ewie.name> writes: > On 11/03/2023 19:23 CET Alexey Murz Korepov <murznn@gmail.com> wrote: >> Could anyone suggest to me the ways to change a database collation with >> removing all the duplicates, caused by this change? > Collations can only affect uniqueness if they are nondeterministic or if you > have functional indexes, e.g. using lower(text) for a case-insensitive unique > index. Otherwise the collations only affect text ordering. Yeah. I suspect that what actually happened here was a previous change in the host system's sort ordering (cf [1]), leading to text indexes becoming functionally corrupt and unable to enforce uniqueness correctly, after which you accumulated some unintentional duplicates. If you try reindex'ing on the source database you'll probably find that it fails with the same errors. I don't know of any automatic tools for fixing up such duplications, and wouldn't trust one hugely anyway --- you'll probably need manual curation of the fixes. regards, tom lane [1] https://wiki.postgresql.org/wiki/Locale_data_changes
В списке pgsql-admin по дате отправления: