Dear all,

following an ICU upgrade, collations in a stock Debian PG 15.1
cluster now have divergent version information in pg_collations.

Now

        gnumed_v22=> ALTER COLLATION pg_catalog."br_FR@euro" REFRESH VERSION;
        ERROR:  collation "pg_catalog.br_FR@euro" for encoding "UTF8" does not 
exist

despite

        gnumed_v22=> select *, pg_encoding_to_char(collencoding) from 
pg_collation where collname = 'br_FR@euro';
        -[ RECORD 1 ]-------+-----------
        oid                 | 12413
        collname            | br_FR@euro
        collnamespace       | 11
        collowner           | 10
        collprovider        | c
        collisdeterministic | t
        collencoding        | 16
        collcollate         | br_FR@euro
        collctype           | br_FR@euro
        colliculocale       |
        collversion         | 2.35
        pg_encoding_to_char | LATIN9


However, note the UTF8 vs LATIN9.

The manual sayeth:

        Some (less frequently used) encodings are not supported
        by ICU. When the database encoding is one of these, ICU
        collation entries in pg_collation are ignored. Attempting
        to use one will draw an error along the lines of
        “collation "de-x-icu" for encoding "WIN874" does not
        exist”.

which sounds somewhat related.

The database encoding is UTF8. That br_FR@euro.LATIN9 had
_not_ been added manually. It is also not actively used in my
database(s).

What is the canonical advice on the way forward here ?  Is
the _suggested_ solution to delete the collation or am I
missing to see the "proper" approach to fixing it ?

Thanks,
Karsten
--
GPG  40BE 5B0E C98E 1713 AFA6  5BC0 3BEA AC80 7D4F C89B


Reply via email to