Today i tried to finally get german settings to work correctly on my
system.
I think I did everything according to the information in the docs, but
it does not work. Hopefully someone has gone thru the same procedure and
can tell me what I did wrong.
I downloaded pg722, compiled and installed
The compile options where:
configure --prefix=/usr/local/pgsql2 --enable-locale
--enable-multibyte=UNICODE
I initialized the db-cluster with initdb. The env settings at that time
where
export LANG=de_DE
export LC_ALL=de_DE
After that I started the postmaster.
I checked for the settings with pg_controldata
bash-2.05a$ ./pg_controldata
pg_control version number: 71
Catalog version number: 200201121
Database state: IN_PRODUCTION
pg_control last modified: Wed Oct 2 16:57:52 2002
Current log file id: 0
Next log file segment: 1
Latest checkpoint location: 0/1367C0
Prior checkpoint location: 0/109664
Latest checkpoint's REDO location: 0/1367C0
Latest checkpoint's UNDO location: 0/0
Latest checkpoint's StartUpID: 8
Latest checkpoint's NextXID: 137
Latest checkpoint's NextOID: 24748
Time of latest checkpoint: Wed Oct 2 16:57:50 2002
Database block size: 8192
Blocks per segment of large relation: 131072
LC_COLLATE: de_DE
LC_CTYPE: de_DE
Then I created a test database with 2 test tables.
Table "test1"
Column | Type | Modifiers
--------+--------------------------+-----------
int1 | integer | not null
date1 | timestamp with time zone |
Primary key: test1_pkey
I inserted a test entry in test1 and tried to query from it.
test=# select to_char(date1, 'DAY') from test1;
to_char
-----------
WEDNESDAY
I had hoped that with german settings this would be "MITTWOCH".
----------------------------------------------------------------
I created a second table to check for sorting. For this I changed the
encoding to LATIN1 and inserted several strings into the test table.
Table "test2"
Column | Type | Modifiers
----------+-----------------------+-----------
int1 | integer | not null
str_test | character varying(30) |
Primary key: test2_pkey
test=# select * from test2 order by str_test;
int1 | str_test
------+----------
10 | üüü
1 | aaa
2 | aAA
3 | AAA
14 | ööö
13 | äää
12 | ÄÄÄ
15 | ÖÖÖ
11 | ÜÜÜ
16 | ßßß
18 | bbb
17 | BBB
19 | ccc
21 | CCC
20 | DDD
9 | mmm
8 | MMM
4 | zzz
5 | zzZ
6 | zZZ
7 | ZZZ
This does not look right too.
I would be very happy about any hints to improve the situation.
Many TIA,
peter