Re: DROP COLLATION vs pg_collation question - Mailing list pgsql-general

From Laurenz Albe
Subject Re: DROP COLLATION vs pg_collation question
Date
Msg-id 740fb9086af71f864ddb526cad1e55888385bedd.camel@cybertec.at
Whole thread Raw
In response to Re: DROP COLLATION vs pg_collation question  (Karsten Hilbert <Karsten.Hilbert@gmx.net>)
Responses Re: DROP COLLATION vs pg_collation question
List 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



pgsql-general by date:

Previous
From: Karsten Hilbert
Date:
Subject: Re: DROP COLLATION vs pg_collation question
Next
From: Tom Lane
Date:
Subject: Re: DROP COLLATION vs pg_collation question