ERROR: new collation (en_US.UTF-8) is incompatible with the collation of the template database (en_US.utf-8)

From: Tomas Pospisek <tpo2(at)sourcepole(dot)ch>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: ERROR: new collation (en_US.UTF-8) is incompatible with the collation of the template database (en_US.utf-8)
Date: 2022-06-22 19:17:18
Message-ID: fedc0205-c15b-e400-aa3f-e1d2a1285ddb@sourcepole.ch
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi all,

while doing `cat pg_dump.dump | psql` I get the above message. Note that
`pg_dump.dump` contains:

CREATE DATABASE some_db WITH TEMPLATE = my_own_template ENCODING =
'UTF8' LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8';

What is exactly the problem? I understand that en_US.UTF-8 and
en_US.utf-8 is not *exactly* the same string.

However I do not understand how the difference came to be. And I do not
know what the "right" way is and how to proceed from here.

If I `pg_dump --create` some DB on the new server (13.7-1.pgdg18.04+1) I
get:

CREATE DATABASE ... ENCODING = 'UTF8' LOCALE = 'en_US.utf-8';

When I do the same on the old server (12.8-1.pgdg20.04+1) I get:

CREATE DATABASE ... ENCODING = 'UTF8' LC_COLLATE = 'en_US.UTF-8'
LC_CTYPE = 'en_US.UTF-8';

Any hints or help?
*t

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2022-06-22 19:25:35 Re: ERROR: new collation (en_US.UTF-8) is incompatible with the collation of the template database (en_US.utf-8)
Previous Message Nathan Bossart 2022-06-22 16:25:50 Re: Extension pg_trgm, permissions and pg_dump order