Re: COLLATION update in 13.1 - Mailing list pgsql-general

From Matthias Apitz
Subject Re: COLLATION update in 13.1
Date
Msg-id CAHzebO9fq5eRsoQZnzDiR=MDCOYo+eHmQ05Firo17zZg=6p06w@mail.gmail.com
Whole thread Raw
In response to Re: COLLATION update in 13.1  (Laurenz Albe <laurenz.albe@cybertec.at>)
Responses Re: COLLATION update in 13.1
Re: COLLATION update in 13.1
List pgsql-general
Thanks. I did \l before which gives:

                                                  List of databases
    Name    |  Owner   | Encoding |   Collate   |    Ctype    | ICU Locale | Locale Provider |   Access privileges
------------+----------+----------+-------------+-------------+------------+-----------------+-----------------------
 bar        | foo      | UTF8     | de_DE.UTF-8 | de_DE.UTF-8 |            | libc            |
 customers  | sisis    | UTF8     | de_DE.UTF-8 | de_DE.UTF-8 |            | libc            |
...

But why the ALTER statement needs the spelling different as the output of \l :

sisis=# ALTER COLLATION "de_DE.UTF-8" REFRESH VERSION;
ERROR:  collation "de_DE.UTF-8" for encoding "UTF8" does not exist

sisis=# ALTER COLLATION "de_DE.utf8" REFRESH VERSION;
NOTICE:  version has not changed
ALTER COLLATION

?


On Mon, Feb 24, 2025 at 12:57 PM Laurenz Albe <laurenz.albe@cybertec.at> wrote:
On Mon, 2025-02-24 at 12:53 +0100, Matthias Apitz wrote:
> If I understand the other reply from Laurenz Albe right, the correct procedure would be:
>
> pgsql -Usisis sisis
> sisis=# REINDEX (VERBOSE) DATABASE sisis;
> sisis=# ALTER COLLATION "de_DE.utf8" REFRESH VERSION;
> ALTER COLLATION
>
> Correct?

That REINDEX is certainly correct, even though it rebuilds way more
indexes than necessary.

If the ALTER COLLATION statement is correct or not depends on the
collation you are using.  You could look at "\l" and "pg_collation"
to get the name right.

Yours,
Laurenz Albe

--

*E-Mail Disclaimer*
Der Inhalt dieser E-Mail ist ausschliesslich fuer den
bezeichneten Adressaten bestimmt. Wenn Sie nicht der vorgesehene Adressat
dieser E-Mail oder dessen Vertreter sein sollten, so beachten Sie bitte,
dass jede Form der Kenntnisnahme, Veroeffentlichung, Vervielfaeltigung oder
Weitergabe des Inhalts dieser E-Mail unzulaessig ist. Wir bitten Sie, sich
in diesem Fall mit dem Absender der E-Mail in Verbindung zu setzen.

*CONFIDENTIALITY NOTICE & DISCLAIMER
*This message and any attachment are
confidential and may be privileged or otherwise protected from disclosure
and solely for the use of the person(s) or entity to whom it is intended.
If you have received this message in error and are not the intended
recipient, please notify the sender immediately and delete this message and
any attachment from your system. If you are not the intended recipient, be
advised that any use of this message is prohibited and may be unlawful, and
you must not copy this message or attachment or disclose the contents to
any other person.

pgsql-general by date:

Previous
From: Laurenz Albe
Date:
Subject: Re: COLLATION update in 13.1
Next
From: Schmid Andreas
Date:
Subject: AW: AW: PGDG PostgreSQL Debian package: Question on conditions for creation of new cluster