Fwd: Re: [FreeBSD] postgresql ve türkçe sıralama

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

Browse pgsql-tr-genel by date

  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