From: | Ismail YENIGUL <ismail(dot)yenigul(at)endersys(dot)com(dot)tr> |
---|---|
To: | pgsql-tr-genel(at)postgresql(dot)org |
Subject: | Fwd: Re: [FreeBSD] postgresql ve türkçe sıralama |
Date: | 2007-12-31 07:28:10 |
Message-ID: | 5318966.20071231092810@endersys.com.tr |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-tr-genel |
Merhabalar,
FreeBSD üzerinde PostgreSQL çalıştıranların işine yarayacağını
düşündüğüm için aşağıdaki mesajı buraya da gönderiyorum.
kolay gelsin.
This is a forwarded message
From: Ismail YENIGUL <ismail(at)EnderUNIX(dot)org>
To: freebsd(at)lists(dot)enderunix(dot)org
CC:
Date: Monday, December 24, 2007, 1:55:11 PM
Subject: [FreeBSD] postgresql ve türkçe sıralama
===8<==============Original message text===============
Merhaba Mesut Hocam,
Cevabim biraz gec oldu. Sebebi biraz arastirma yapmamdi.
> -su-2.05b# egrep iso /etc/rc.conf
> keymap=tr.iso9.q #/usr/share/sysconf/keymap/tr.iso9.q.kbd dosyasy
> font8x16=iso09-8x16 #/usr/share/sysconf/fonts/iso09-8x16.fnt dosyasy
> -su-2.05b# egrep 8859 /etc/profile
> export LANG=tr_TR.ISO8859-9
> export MM_CHARSET=ISO-8859-9
PostgreSQL'de dil destegi icin sistemde tanımlı olan locale değeri
yerine, initdb komutuna verilen parametreyi dikkate alır. FreeBSD'de
UTF8'e göre sıralamada sorun varmış. Eğer utf8 bir db kullanmak
istiyorsanız Postgresql 8.1 için ICU yaması var. Bu yamayı da
postgresql 8.1 kurarken ki gelen ekranda görebilirsin.
Fakat bu yama henüz 8.2 için uyarlanmamış.
Türkçe sıralama için ISO8859-9 (LATIN5) veritabanı için init yapabilirsiniz.
Fakat maalesef "locale" değeri sadece initdb ile pgsql ilklenirken
verilebiliyor. (PostgreSQL TODO listesinde bu değerin yeni bir DB
oluştururken de seçebilme özelliği var)
$ initdb -E LATIN5 --locale tr_TR.ISO8859-9
Fakat siz söyledikten sonra yaptığım testlerde tr_TR.ISO8859-9 için de
sıralama sorun olduğunu gördüm.
/usr/share/locale/tr_TR.ISO8859-9/LC_COLLATE dosyası
../la_LN.US-ASCII/LC_COLLATE bağlantılı idi. Yani tam tr_TR.ISO8859-9
için tam bir collate(sıralama) desteği yoktu. Bununla ilgili gerekli locale
dosyaslarını oluşturup FreeBSD'ye gönderdim.
http://www.freebsd.org/cgi/query-pr.cgi?pr=118976
İlgili dosyalar bugün FreeBSD src altına alındı. Sanırım bugün veya yarın bir cvsup
yaparsanız ilgili dosyalar gelecektir. Tüm sistemi make world ile
derlemeden aşağıdaki komutları vererek yeni locale değerini sisteme
kurabilirsiniz.
# cd /usr/src/share/colldef
# make install clean
Bu komutlardan sonra
$ initdb -E LATIN5 --locale tr_TR.ISO8859-9
komutu ile postgresql db'yi oluşturabilirsiniz.
--
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ http://www.enderunix.org/ismail http://www.endersys.com.tr +
+ EnderUNIX SDT @ Tr Endersys Consultancy Ltd. +
+ ismail ~ enderunix.org ismail.yenigul ~ endersys.com.tr +
+ Volunteer, Core Team Member Project Manager +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
TCP/IP ve Ağ güvenliği kitabının 2. baskısı çıktı!
http://dukkan.acikakademi.com
From | Date | Subject | |
---|---|---|---|
Next Message | Namık Güngör | 2008-01-15 12:02:25 | Ubuntu server da pg türkçeleştirme |
Previous Message | Ertugrul Cam | 2007-12-24 12:17:35 | pgsql image video files |