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

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: Tomas Pospisek <tpo2(at)sourcepole(dot)ch>, pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: 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:25:35
Message-ID: 8c998edf-82a1-0769-77d7-7ef5076c098c@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 6/22/22 12:17, Tomas Pospisek wrote:
> 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?

Are dumping/restoring from one version of Postgres to another?

If from older to newer then use the new version of pg_dump(13) to dump
the older(12) database. Then the 13 version of restore to load the
version 13 database.

> *t
>
>

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Dirschel, Steve 2022-06-22 19:39:33 Tuning a query with ORDER BY and LIMIT
Previous Message Tomas Pospisek 2022-06-22 19:17:18 ERROR: new collation (en_US.UTF-8) is incompatible with the collation of the template database (en_US.utf-8)