Bug #3924: Create Database with another encoding as the encoding from postgres

From: Joe <dev(at)freedomcircle(dot)net>
To: pgsql-bugs(at)postgresql(dot)org
Subject: Bug #3924: Create Database with another encoding as the encoding from postgres
Date: 2008-10-30 12:49:31
Message-ID: 4909AD5B.8060104@freedomcircle.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hi,

I just run into this bug
(http://archives.postgresql.org/pgsql-bugs/2008-02/msg00010.php). In my
case, Roundup (Python bug tracker) is trying to CREATE DATABASE WITH
ENCODING='UNICODE' in an 8.3.4 cluster created with LATIN1 encoding, and
it gets the error:

encoding UTF8 does not match server's locale en_US
DETAIL: The server's LC_CTYPE setting requires encoding LATIN1.

Same problem if I try createdb -E UTF8.

Heikki's response to the OP referred him to the 8.3 release notes:

Disallow database encodings that are inconsistent with the server's locale setting (Tom)

On most platforms, C locale is the only locale that will work with
any database encoding. Other locale settings imply a specific
encoding and will misbehave if the database encoding is something
different. (Typical symptoms include bogus textual sort order and
wrong results from upper() or lower().) The server now rejects
attempts to create databases that have an incompatible encoding.

I can understand that creating a LATIN2, EUC_CN or some other encoding
in a LATIN1 cluster may cause problems, but don't quite see how UTF-8
can be a problem since in essence it includes the others. Perhaps
someone can provide further explanation?

Assuming this situation will remain as is in the immediate future, what
are my options? The 8.3 cluster has a LATIN1 database that must stay
that way (at least for a while). I also have an 8.2 LATIN1 cluster
where SQL_ASCII, LATIN1 and UTF8 appear to coexist happily but was in
the process of migrating the remaining db's to 8.3. Do I need to create
another 8.3 cluster, this time with UTF8 encoding? Will that be allowed
if my host LC_CTYPE remains "en_US" (the machine has both en_US.iso88591
and en_US.utf8 installed but operates mostly with the former)?

As an aside, how can one find the status of a Postgres bug?

Joe

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2008-10-30 14:03:34 Re: Bug #3924: Create Database with another encoding as the encoding from postgres
Previous Message Stephen 2008-10-29 18:13:52 BUG #4503: failed to run initdb: 1!