Postgresql 7.4.2 UPPER() probléma

Postgresql 7.4.2 UPPER() probléma

Hozzászólások

nekem mukodik rendesen

select upper('árvíztűrő');
upper
-----------
ÁRVÍZTŰRŐ
(1 sor)

fontokat ansi-n hagytam
az osszes locales meg hu_HU

Sziasztok!

PostgreSQL alatt van egy poblémám amivel nem boldogulok. Redhat 9.0 alatt postgresql 7.4.2 használok. A gond az vele hogy az UPPER() és a LOWER() függvény nem igazán működik rendesen, az ékezetes betűket nem konvertálja át.

# select c,upper(c) from x;
c | upper
---------------+----------
árvíztűrő | áRVíZTűRő
(1 row)

Az ékezetek megvannak a táblában és a rendezés is müködik de a két függvény csak félig működik. Elvileg a locale adja meg, hogy ezek a függvények hogyan működjenek, de hiába változtatgattam az LC_ALL-t nem igazán sikerült rábírnom arra, hogy jó legyen. Póbáltam a ./confignál a --enable-multibyte=LATIN2 --enable-locale kapcsolókat de nem igazán használt. Átrágtam magam a Postgres doksin de nem sikerült működésre bírnom.

Az installálás a következőképpen történt:

LC_ALL=hu_HU.ISO8859-2; export LC_ALL

./configure --enable-multibyte=LATIN2 --enable-locale --enable-nls=ALL
gmake
gmake install

LC_ALL=hu_HU.ISO8859-2; export LC_ALL
./postmaster -D /var/lib/pgsql/data

initdb -U postgres -E LATIN2 -D /var/lib/pgsql/data

a ./pg_controldata /var/lib/pgsql/data/ szerin:
LC_COLLATE=hu_HU
LC_CTYPE=hu_HU

createdb -E LATIN2 teszt
./psql -l
List of databases
Name | Owner | Encoding
-----------+----------+----------
teszt | postgres | LATIN2
template0 | postgres | LATIN2
template1 | postgres | LATIN2
(3 rows)

#\encoding
LATIN2

Előre is köszi a segítséget.

[quote:7d33f167b6="j_doo"]
LC_ALL=hu_HU.ISO8859-2; export LC_ALL

./configure --enable-multibyte=LATIN2 --enable-locale --enable-nls=ALL
gmake
gmake install

LC_ALL=hu_HU.ISO8859-2; export LC_ALL
./postmaster -D /var/lib/pgsql/data

initdb -U postgres -E LATIN2 -D /var/lib/pgsql/data

a ./pg_controldata /var/lib/pgsql/data/ szerin:
LC_COLLATE=hu_HU
LC_CTYPE=hu_HU

createdb -E LATIN2 teszt
./psql -l
List of databases
Name | Owner | Encoding
-----------+----------+----------
teszt | postgres | LATIN2
template0 | postgres | LATIN2
template1 | postgres | LATIN2
(3 rows)

#\encoding
LATIN2

Előre is köszi a segítséget.

A Redhat8 UTF8 kodolassal mukodik mar. Celszeru lenne UTF8-ra forditani.

[quote:5c4ed4f187="j_doo"]Sziasztok!

PostgreSQL alatt van egy poblémám amivel nem boldogulok. Redhat 9.0 alatt postgresql 7.4.2 használok. A gond az vele hogy az UPPER() és a LOWER() függvény nem igazán működik rendesen, az ékezetes betűket nem konvertálja át.

# select c,upper(c) from x;
c | upper
---------------+----------
árvíztűrő | áRVíZTűRő
(1 row)

Az ékezetek megvannak a táblában és a rendezés is müködik de a két függvény csak félig működik. Elvileg a locale adja meg, hogy ezek a függvények hogyan működjenek, de hiába változtatgattam az LC_ALL-t nem igazán sikerült rábírnom arra, hogy jó legyen. Póbáltam a ./confignál a --enable-multibyte=LATIN2 --enable-locale kapcsolókat de nem igazán használt. Átrágtam magam a Postgres doksin de nem sikerült működésre bírnom.

Az installálás a következőképpen történt:

LC_ALL=hu_HU.ISO8859-2; export LC_ALL

./configure --enable-multibyte=LATIN2 --enable-locale --enable-nls=ALL
gmake
gmake install

LC_ALL=hu_HU.ISO8859-2; export LC_ALL
./postmaster -D /var/lib/pgsql/data

initdb -U postgres -E LATIN2 -D /var/lib/pgsql/data

a ./pg_controldata /var/lib/pgsql/data/ szerin:
LC_COLLATE=hu_HU
LC_CTYPE=hu_HU

createdb -E LATIN2 teszt
./psql -l
List of databases
Name | Owner | Encoding
-----------+----------+----------
teszt | postgres | LATIN2
template0 | postgres | LATIN2
template1 | postgres | LATIN2
(3 rows)

#\encoding
LATIN2

Előre is köszi a segítséget.

Kell hogy legyen generalva az a karakterset, de redhat9 alatt fingom nincs hogyan lehet megcsinalni... A 7.4.2-t szerintem csereld le egy 7.4.5-re ha produktiv kornyezet.