AW: [Mapbender-users] How to create apostgres-cluster withencodingsUTF-8 and LATIN1 ?

Schönhammer, Herbert Schoenhammer.Herbert at Regensburg.de
Wed Oct 29 10:50:28 EDT 2008


Hallo Liste,

nur der Vollständigkeit halber ;-)


ich habe die Tests soeben durch. Mit den von "meinem" Herrn Stauber freundlicherweise gleich in die Liste geposteten Vorgehen (zumindest bei SLES 10) funktionert es soweit:

Weil bei bereits erfolgtem initd die Einstellungen nicht mehr geändert werden können (auch wenn die enstprechenden Betriebssystem-Variablen jetzt geändert sind), muss das Datenbankcluster neu angelegt werden z.B: initdb -E UTF8 -D /datadir

Danach sind problemlos Datenbanken mit beliebiger Codierung zu erzeugen, insbesondere auch mit LATIN1 und UTF8.

Ich habe einige Tests (nicht systematisch) zur Sortierreihenfolge auch mit deutschen Umlauten gemacht. Das Ergebnis ist nicht grob falsch. Man kann damit Leben.


Grüße
Schönhammer Herbert






>-----Ursprüngliche Nachricht-----
>Von: Stauber, Thomas
>Gesendet: Montag, 27. Oktober 2008 13:24
>An: Schönhammer, Herbert
>Betreff: AW: [Mapbender-users] How to create apostgres-cluster
>withencodingsUTF-8 and LATIN1 ?
>
>
>Hallo Herr Schönhammer,
>
>hier meine Änderungen:
>
>
>vorher:
>
>secure1:~ # locale
>LANG=de_DE.UTF-8
>LC_CTYPE="de_DE.UTF-8"
>LC_NUMERIC="de_DE.UTF-8"
>LC_TIME="de_DE.UTF-8"
>LC_COLLATE="de_DE.UTF-8"
>LC_MONETARY="de_DE.UTF-8"
>LC_MESSAGES="de_DE.UTF-8"
>LC_PAPER="de_DE.UTF-8"
>LC_NAME="de_DE.UTF-8"
>LC_ADDRESS="de_DE.UTF-8"
>LC_TELEPHONE="de_DE.UTF-8"
>LC_MEASUREMENT="de_DE.UTF-8"
>LC_IDENTIFICATION="de_DE.UTF-8"
>LC_ALL=
>secure1:~ # who
>root     tty1         2008-10-27 12:57
>root     pts/0        2008-10-27 12:58 (10.1.42.209)
>secure1:~ # su - postgres
>postgres at secure1:~> locale
>LANG=de_DE.UTF-8
>LC_CTYPE="de_DE.UTF-8"
>LC_NUMERIC="de_DE.UTF-8"
>LC_TIME="de_DE.UTF-8"
>LC_COLLATE="de_DE.UTF-8"
>LC_MONETARY="de_DE.UTF-8"
>LC_MESSAGES="de_DE.UTF-8"
>LC_PAPER="de_DE.UTF-8"
>LC_NAME="de_DE.UTF-8"
>LC_ADDRESS="de_DE.UTF-8"
>LC_TELEPHONE="de_DE.UTF-8"
>LC_MEASUREMENT="de_DE.UTF-8"
>LC_IDENTIFICATION="de_DE.UTF-8"
>LC_ALL=
>postgres at secure1:~>
>
>
>Folgenden Eintrag in die /etc/sysconfig/lanuguage
>
># This variable will override all LC-variables!!
># Again, ROOT_USES_LANG must be set to "yes", if an effect on
>the superuser
># account is desired.
>#
>RC_LC_ALL="POSIX"
>
>
>
>SuSEconfig ausführen und fertig
>
>(nicht für user root siehe oben)
>
>
>
>nachher:
>
>
>secure1:~ # who
>root     pts/0        2008-10-27 13:06 (10.1.42.209)
>secure1:~ # locale
>LANG=de_DE.UTF-8
>LC_CTYPE="de_DE.UTF-8"
>LC_NUMERIC="de_DE.UTF-8"
>LC_TIME="de_DE.UTF-8"
>LC_COLLATE="de_DE.UTF-8"
>LC_MONETARY="de_DE.UTF-8"
>LC_MESSAGES="de_DE.UTF-8"
>LC_PAPER="de_DE.UTF-8"
>LC_NAME="de_DE.UTF-8"
>LC_ADDRESS="de_DE.UTF-8"
>LC_TELEPHONE="de_DE.UTF-8"
>LC_MEASUREMENT="de_DE.UTF-8"
>LC_IDENTIFICATION="de_DE.UTF-8"
>LC_ALL=
>secure1:~ # su - postgres
>postgres at secure1:~> locale
>LANG=de_DE.UTF-8
>LC_CTYPE="POSIX"
>LC_NUMERIC="POSIX"
>LC_TIME="POSIX"
>LC_COLLATE="POSIX"
>LC_MONETARY="POSIX"
>LC_MESSAGES="POSIX"
>LC_PAPER="POSIX"
>LC_NAME="POSIX"
>LC_ADDRESS="POSIX"
>LC_TELEPHONE="POSIX"
>LC_MEASUREMENT="POSIX"
>LC_IDENTIFICATION="POSIX"
>LC_ALL=POSIX
>postgres at secure1:~>
>
>
>
>Gruß Thomas Stauber
>
>-----Ursprüngliche Nachricht-----
>Von: Schönhammer, Herbert
>Gesendet: Montag, 27. Oktober 2008 07:30
>An: Stauber, Thomas
>Betreff: WG: [Mapbender-users] How to create apostgres-cluster
>withencodingsUTF-8 and LATIN1 ?
>
>
>Hallo Her Stauber,
>
>kann bei SLES 10 bereits eine Server-Variable LC_CTYPE gesetzt
>werden. Wie ist das möglich ?
>
>Könne wir mit dem secure1 das testen ?
>
>Ich würde mich bei der Umstellung der Datenbanken erheblich
>leichter, wenn ich das für die Db so haben könnte !
>
>Ich weiss aber nicht, welche Auswirkungen das sonst im System hat !
>
>Grüße
>Schönhammer Herbert
>
>-----Ursprüngliche Nachricht-----
>Von: Dietmar Stolz [mailto:dietmar.stolz at netcologne.de]
>Gesendet: Mittwoch, 22. Oktober 2008 18:52
>An: Schönhammer, Herbert
>Betreff: Fw: [Mapbender-users] How to create apostgres-cluster
>withencodingsUTF-8 and LATIN1 ?
>
>
>Hallo Herr Schönhammer,
>
>habe da keine gute Nachrichten für uns.
>
>Liebe Grüße
>
>    Dietmar Stolz
>
>
>
>
>----- Original Message -----
>From: "Thomas Baschetti" <Thomas.Baschetti at gmx.de>
>To: "Mapbender User List" <mapbender_users at lists.osgeo.org>
>Sent: Wednesday, October 22, 2008 6:39 PM
>Subject: Re: [Mapbender-users] How to create apostgres-cluster
>withencodingsUTF-8 and LATIN1 ?
>
>
>Hallo,
>
>
>Manns, Marc schrieb:
>> Hallo zusammen,
>>  http://archives.postgresql.org/pgsql-bugs/2008-02/msg00010.php
>>  Der Bug bezog sich auf die Version 8.3 RC2 Es scheint mir
>so, als wäre
>> der Fehler nicht behoben worden,
>> da ich hier das selbe Problem mit Version 8.3.3 habe.
>> Da bleibt einem wohl nur der Rückstieg auf eine ältere
>Postgres Version.
>> In denen hat es ja funktioniert
>>  Gruß
>>  Marc Manns
>
>das ist kein bug sondern so gewollt. Zitat aus den Release Note der 8.3
>
>> 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.
>
>Wenn also wirklich Datenbanken in verschiedenen Encodings gebraucht
>werden muss eben bei der Installation "C" als locale angegeben werden.
>
>Siehe auch im Manual
>
>http://www.postgresql.org/docs/current/static/multibyte.html
>
>"An important restriction, however, is that each database character set
>must be compatible with the server's LC_CTYPE setting. When LC_CTYPE is
>C or POSIX, any character set is allowed, but for other settings of
>LC_CTYPE there is only one character set that will work
>correctly. Since
>the LC_CTYPE setting is frozen by initdb, the apparent flexibility to
>use different encodings in different databases of a cluster is more
>theoretical than real, except when you select C or POSIX locale (thus
>disabling any real locale awareness). It is likely that these
>mechanisms
>will be revisited in future versions of PostgreSQL. "
>
>
>
>Ciao
>Thomas
>_______________________________________________
>Mapbender_users mailing list
>Mapbender_users at lists.osgeo.org
>http://lists.osgeo.org/mailman/listinfo/mapbender_users
>
>


More information about the Mapbender_users mailing list