Datumsdarstellung deutsch und englisch

Hallo,

habe PostgreSQL Version 8.3.7 auf Debian 5.0 im Einsatz. Betriebssystem und Serversprache ist englisch.
Auf Betriebssystemebene zeigt ein locale -a folgendes:

C
en_US.utf8
POSIX

Die Kodierung der Datenbank ist UTF8.

Würde gerne Datumswerte in zwei Displayformaten ausgeben:

  • in englisch
SELECT to_char(<TimeStamp with Timezone>, 'Day, DD Mon YYYY HH24:MI TZ') from <table>

ergibt wie gewünscht

Wednesday, 06 May 2009 15:00 CEST
  • aber auch in deutsch, also
Mittwoch, 06 Mai 2009 15:00 CEST

Leider bekomme ich das nicht hin:

show lc_time

ergibt

C

Das Kommando

set lc_time='de_DE'

funktioniert nicht

invalid value for parameter "lc_time": "de_DE"

Wie könnte ich mein Ziel erreichen?
Muss ich auf Betriebssystemebene etwas installieren?
Hätte gehofft man kann im SQL Kommando selbst einen Parameter angeben, aber so einfach scheint dies leider nicht zu sein.

Danke



test=# select to_char(current_date, 'TMDay TMMon YYYY HH24:MI TZ');
           to_char
-----------------------------
 Tuesday May 2009 00:00 CEST
(1 row)

Time: 0.161 ms
test=*# set lc_messages='de_DE.UTF-8';
SET
Time: 0.123 ms
test=*# select to_char(current_date, 'TMDay TMMon YYYY HH24:MI TZ');
           to_char
------------------------------
 Dienstag Mai 2009 00:00 CEST
(1 row)

Hint: PostgreSQL: Documentation: Manuals: PostgreSQL 8.3: Data Type Formatting Functions , Table 9-22

Andreas

Das ändern von current_date gegen now() überlasse ich dem geneigten Leser zur Übung.

Andreas

Hallo,

Danke für die schnelle Antwort und die Hinweise. Aber bei mir kommt der Fehler invalid value for parameter “lc_messages”: “de_DE.UTF-8”
Also doch noch was installieren?

dpkg-reconfigure locales

Aber das ist schon Systemadmninistration und nicht mehr Datenbank.