Hallo Alle,
ist es möglich in einer Datenbank (unter Windows) die Sortierfolge auf die Deutsche Telefonbuchsortierung (DIN) umzustellen?
Meine Umgebung: PostgreSQL 8.4.3 build 1400, 32 Bit unter Windows XP
Was ich schon (erfolglos) versucht habe: Umstellen der Sortierung in den Regions- und Sprachoptionen in der Windows Systemsteuerung auf Telefonbuch (DIN), Neustart des Datenbankservers, neue Datenbank mit der Sortierfolge German_Germany.1252.
In diversen Windows Dokumentationen (MSDN u.a.) steht, dass die Locale mit der von mir gewünschten Sortierung de_DE_phoneb entspricht. Eine Entsprechung in der Angabe der Sortierfolge beim Erzeugen einer Datenbank (für LC_COLLATE) habe ich nicht gefunden. Wie lautet diese?
Oder bin ich ganz auf dem Holzweg?
Hintergrund: Ich habe eine bestehende Anwendung von einer Borland Paradox Datenbank auf PostgeSQL migiert. Der Performancegewinn ist enorm, nur die Sortierung ist nicht mehr wie gewohnt. Die SQL-Statements (insbesondere die ORDER BY Clauses) kann ich leider nicht beeinflussen...
Dank für jeden Hinweis.
Frank
PG baut bei der Sortierung auf die Fähigkeiten des OS auf, als muß Dein Windows auch so sortieren. Dein "German_Germany.1252" erscheint mir aber als die 'normale' Sortierordnung.
Keine Ahnung, was da wie bei Windows wo zu klicken und zu machen ist und welche Geister in Gedmond zu beschwören sind...
Falls Du es hinbekommst, wäre aber eine kurze Info hier ned schlecht ...
Andreas
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Hallo Andreas,
Genau das wusste ich schon:PG baut bei der Sortierung auf die Fähigkeiten des OS auf, als muß Dein Windows auch so sortieren. Dein "German_Germany.1252" erscheint mir aber als die 'normale' Sortierordnung.
German_Germany.1252 entspricht de_DE oder Windows intern 00000407
Aber welche Zeichenfolge für LC_COLLATE entspricht de_DE_phoneb oder Windows intern 00010407?
Wie schon angedeutet: Für den angemeldeten Benutzer kann man in der Windows XP Systemsteuerung -> Regions- und Sprachoptionen -> Tabreiter Reiter Regionale Einstellungen bei ausgewählter Sprache Deutsch (Deutschland) -> Schaltfläche Anpassen... -> Dialog Regionale Einstellungen anpassen -> Tabreiter Sortierung -> in der dort angezeigten Combobox stehen Wörterbuch und Telefonbuch (DIN) zur Auswahl. In der Windows Registry ändert sich dabei HKEY_CURRENT_USER\control\Panel\International\Loca le zwischen 00000407 und 00010407.Keine Ahnung, was da wie bei Windows wo zu klicken und zu machen ist und welche Geister in Gedmond zu beschwören sind...
Eine Änderung dieser Einstellung (für das Benutzerprofil unter dem der Datenbankserver läuft) wirkt sich leider nicht aus: Auch in einer nach einem Neustart des Datenbankservers neu angelegten Datenbank bleibt die Sortierung unverändert.
Ich habe leider keine vollständige Dokumentation der "Übersetzung" der Lokalen á la de_DE in die Lokalen für LC_COLLATE á la German_Germany gefunden. Zumindest keine für die Lokale de_DE_phoneb. Irgendwo muss es doch da eine Entsprechung geben...?
Grüße von
Frank
Waren Sie zufälligerweise auf der CeBIT am PostgreSQL-Stand mit dieser Frage?
Vielleicht wäre diese Frage in einem Windows-Forum besser aufgehoben ...
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
Hallo ads,
Nein auf der CeBIT war ich nicht. Zu den Linuxtagen in Chemnitz habe ich mit den dort anwesenden PostgeSQL Leuten darüber unterhalten...
Die mir bekannten Windows Spezialisten weisen das Problem von sich: Das sei Postgres spezifisch...
Ich habe die Hoffnung, dass vielleicht schon einmal jemand ein ähnliches Problem hatte und eine Lösung kennt...
Grüße von
Frank
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Stimmt, dort war das. Sowohl akretschmer als auch ich waren dort in Chemnitz am Stand.
Nun, die eigentliche Frage ist: wie erstellt man eine Sortierung unter Windows. Das ist nicht unbedingt PostgreSQL-spezifisch, aber unter Windows kann ich da leider nicht weiterhelfen.
Ein Ansatz wäre ev. noch, mal den Sourcen in PostgreSQL zu folgen und zu schauen, was genau auf Betriebssystemebene aufgerufen wird. Und von dort dann halt weitersuchen.
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen