Re: DROP COLLATION vs pg_collation question

From: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>
To: Karsten Hilbert <Karsten(dot)Hilbert(at)gmx(dot)net>
Cc: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: DROP COLLATION vs pg_collation question
Date: 2024-06-16 17:37:08
Message-ID: 740fb9086af71f864ddb526cad1e55888385bedd.camel@cybertec.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Sun, 2024-06-16 at 11:27 +0200, Karsten Hilbert wrote:
> > the collations themselves
> > are defined by an external library, so the implementation is shared.
>
> Which in turn means I cannot at all truly _remove_ collations
> from a cluster at the SQL level, only make them invisible
> (and thereby not-to-be-used) inside a particular database by
> removing them from pg_collations via DROP COLLATION, right ?

As far as PostgreSQL is concerned, you can remove them.

You cannot remove the C library, but a PostgreSQL user can only use
the collation if there is a collation defined in PostgreSQL.

(Actually, that's not quite true: in CREATE DATABASE, you can use
ICU collations. That does not depend on the collations defined in
pg_collation.)

Also, there is nothing that keeps a user from running CREATE COLLATION
to create a collation in a schema where the user can CREATE objects.

I wouldn't try too hard to make it impossible for users to use a
collation you don't want. Dropping the collations is good enough to
keep a user from using the wrong collation by mistake.

Yours,
Laurenz Albe

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2024-06-16 20:38:49 Re: DROP COLLATION vs pg_collation question
Previous Message Karsten Hilbert 2024-06-16 09:27:35 Re: DROP COLLATION vs pg_collation question