Re: List of encodings

Igor Korot <ikorot01@gmail.com>

From: Igor Korot <ikorot01@gmail.com>
To: Ron Johnson <ronljohnsonjr@gmail.com>
Cc: "pgsql-generallists.postgresql.org" <pgsql-general@lists.postgresql.org>
Date: 2026-04-21T02:42:18Z
Lists: pgsql-general
Hi, ALL,


On Sun, Apr 19, 2026 at 8:32 PM Ron Johnson <ronljohnsonjr@gmail.com> wrote:
>
>
>
> On Sun, Apr 19, 2026 at 9:13 PM Igor Korot <ikorot01@gmail.com> wrote:
>>
>> [snip]
>> >
>> > In your setup all the installed encoding conversion functions are also
>> > the default for those conversions. It is possible to create/install a
>> > conversion function that is not the default.
>>
>> So, let's say I chose "BIG5"".
>>
>> As stated the table contains:
>>
>>  big5_to_utf8                   | BIG5           | t
>>  big5_to_euc_tw                 | BIG5           | t
>>  big5_to_mic                    | BIG5           | t
>>
>> Since all 3 are default character sets, which one would be chosen?
>> (in the context of CREATE DATABASE)
>
>
> Does CREATE DATABASE convert text?  (I think you might be misunderstanding the purpose of the pg_conversion table.)

No it does not.

But it has an option that can be chosen and supplied to the command...

So when I write "CREATE DATABASE mydb ECODING = BIG5", what will happen?

Moreover, I'm curious - if I chose "BIG5", there are only number of
available collate/ctype pairs.
How do I choose which one to present to the user.
Because there is not one default "BIG5" - there are 3 default "BIG5"s.

Thank you.

>
> Wouldn't it only convert text when a client is inserting text of encoding X into a table with encoding Y?
>
> ISTM that pg_conversion says whether PG knows how to convert from X to Y, not the encoding scheme you defined when creating the db.
>
> --
> Death to <Redacted>, and butter sauce.
> Don't boil me, I'm still alive.
> <Redacted> lobster!