Re: LATIN2 encoding and Polish_Poland locale

From: "Jan-Peter Seifert" <Jan-Peter(dot)Seifert(at)gmx(dot)de>
To: Andrzej Angowski <andrzej(dot)angowski(at)gmail(dot)com>, pgsql-admin(at)postgresql(dot)org
Subject: Re: LATIN2 encoding and Polish_Poland locale
Date: 2010-03-01 13:49:21
Message-ID: 20100301134921.175810@gmx.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Hello Andrzej,

try this:

Identify the code page Windows is using for LATIN2 with the PostgreSQL tool pg_controldata (8.2 server's version). Look for the number following the dot in LC_COLLATE / LC_TYPE. For LATIN1 it's 28591.

Try creating the database for 8.4 with the PostgreSQL tool createdb (v8.4.x) (example for LATIN1 and German locale, locale = LC_COLLATE / LC_TYPE in 8.2):

createdb -U postgres -h <Host> -p <Port> --owner=name_of_owner --locale=German_Germany.28591 --encoding=LATIN1 --template=template0 database_name

Good luck,

Peter

-------- Original-Nachricht --------
> Datum: Sun, 28 Feb 2010 22:44:49 +0100
> Von: Andrzej Angowski <andrzej(dot)angowski(at)gmail(dot)com>
> An: pgsql-admin(at)postgresql(dot)org
> Betreff: [ADMIN] LATIN2 encoding and Polish_Poland locale

> All,
>
> I am running PostgreSQL database on Windows XP with SP3 machine.
> Recently I have tried to upgrade from 8.2.15 to 8.4.2 but I encounter
> the following issue: one of my databases is LATIN2 encoded
> (ISO-8859-2). It works fine on 8.2.15 (LATIN2 encoding and
> Polish_Poland locale - I have Polish characters and sorting works
> fine), but on 8.4.2 default encoding for Polish_Poland is UTF-8. When
> I try to set up LATIN2 encoding with Polish_Poland locale I get the
> following error:
>
> >createdb -E LATIN2 -l Polish_Poland test
> createdb: database creation failed: ERROR: encoding LATIN2 does not
> match locale Polish_Poland
> DETAIL: The chosen LC_CTYPE setting requires encoding WIN1250.
>
> In 8.4 manual -> Section 22.2 Character Set Support one can read:
> An important restriction, however, is that each database's character
> set must be compatible with the database's LC_CTYPE and LC_COLLATE
> locale settings. For C or POSIX locale, any character set is allowed,
> but for other locales there is only one character set that will work
> correctly. (On Windows, however, UTF-8 encoding can be used with any
> locale.)
>
> So I manage to establish a DB with LATIN2 encoding with C locale:
> >createdb -E LATIN2 -l C -T template0 test
>
> I have Polish characters but sorting is not correct.
>
> How can I set up Polish_Poland locale with LATIN2 encoding in PostgreSQL
> 8.4.2?
>
>
> Thanks,
> --
> Andrzej Angowski
>
> --
> Sent via pgsql-admin mailing list (pgsql-admin(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-admin

--
Sicherer, schneller und einfacher. Die aktuellen Internet-Browser -
jetzt kostenlos herunterladen! http://portal.gmx.net/de/go/chbrowser

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Achilleas Mantzios 2010-03-01 15:31:15 severely wierd problem & PgSQL log analyzer
Previous Message Ibrahim Harrani 2010-03-01 10:24:05 Re: vacuum deadlock