[linux-baslangic] Re: postgresql ve turkce

---------

From: Devrim GUNDUZ (devrim@gunduz.org)
Date: Sat 16 Aug 2003 - 11:36:35 EEST

  • Next message: tufan biyiktas: "[linux-baslangic] Re: Linuxfromscratch - kendi Linux distronu kendin yap..."

    Merhaba,

    On Sat, 16 Aug 2003, Umut wrote:

    > Dokumanlar arasinda biraz bogustum ve pgsql ile Turkce siralama
    > konusunda bir seyler buldum. Peki basarabildim mi? Hayir.
    >
    > postgresql icin eski databaseler dahil Turkce karakterlerin dogru
    > siralanmasini nasil saglayabilirim?

    Emre Akbaş'ın yazdığı, henüz PostgreSQL belgeme ekleyemediğim bir yazı.
    Kendisine teşekkür:
    =======================================================================
    PostgreSQL'de Türkçe sıralama yapabilmek için, initdb ile "database
    cluster" oluştururken:

            initdb --locale=tr_TR
            
      yapmak yeterli. Çalışması için tek şart sistemde tr_TR localesinin düzgün bir şekilde kurulmuş
      olması gerektiği. Bunu anlayabilmenin iki yolu var:
      1) Şu dizinlere bakılabilir:

              /usr/lib/locale (Linux, Solaris)
            /usr/share/locale (Linux)
            /usr/lib/nls/loc (DUX 4.0)

      2) ya da:
              
            locale -a

      komutu ile sistemde kurulu bütün localeler listelenebilir.

    - Teknik nedenlerden dolayı bazı locale ayarları "database cluster" yaratılırken belirlenir ve
      "database cluster"ın ömrü boyunca değiştirilemez. (Yani initdb çalıştırıldıktan sonra bu ayarlar
      değiştirilemez) Bunlar LC_COLLATE ve LC_CTYPE'dır. LC_COLLATE ve LC_CTYPE veritabanı içindeki
      indekslerin neye göre (hangi alfabe, hangi dil, vs.) sıralanacağını belirler. initdb komutuna
      locale=tr_TR parametresini verirken, LC_COLLATE ve LC_CTYPE'ın türkçe karakter setine ve dil
      ayarlarına ayarlanması söylemiş oluyoruz.

      Diğer locale ayarları (LC_MONETARY, LC_PAPER, LC_TIME gibi) veritabanı yaratıldıktan sonra
      istenildiği zaman değişitirilebilir.

    - PostgreSQL, birçok karakter setini destekliyor: LATIN5 (Türkçe), EUC_JP (Japonca), SQL_ASCII (default
      Amerikan İngilizcesi), vs. Tam liste:

      http://www.postgresql.org/docs/7.3/static/multibyte.html#AEN21737

      "Database cluster"'ın karakter setini ayarlamak için:
              
            initdb -E LATIN5

      Bir veritabanı için:

              createdb -E LATIN5

    - Karakter seti ile ilgili olarak önemli olan nokta sunucunun karakter seti ile "client"ın karakter
      setinin uyuşup uyuşmaması. Örneğin veritabanı sunucusu EUC_JP'ye ayarlı, "client" da LATIN1'e
      ayarlıysa, sunucudan gelecek olan bazı japonca karakterler, "client" tarafında doğru görünmeyecektir.
      PostgreSQL'in aralarında çevrim yapabildiği karakter seti listesi için:

      http://www.postgresql.org/docs/7.3/static/multibyte.html#AEN21920
    ============================

    Eski veritabanlari icin de bir dump/reload faydali olacaktir. Once initdb
    tabii ki.
     
    > Dogrusu postgresql.org sitesinin dokumantasyon mantigini
    > cozemedim :-) Fazla kolaya alismisim.

    :-) Interactive Documentation icinden arastirma yapabilirsiniz.

    Umarim yardimci olmustur.

    Saygilar.

    -- 
    Devrim GUNDUZ
    devrim@gunduz.org				devrim.gunduz@linux.org.tr 
    			http://www.tdmsoft.com
    			http://www.gunduz.org
    ---
    linux-baslangic listesinden cikmak  ve tum listeci islemleri icin
    http://liste.linux.org.tr/   adresini kullanabilirisniz.
    Bu listeden cikmak icin
    <a href="mailto:linux-baslangic-request@liste.linux.org.tr?Subject=unsubscribe"> tiklayiniz</a>
    

  • Next message: tufan biyiktas: "[linux-baslangic] Re: Linuxfromscratch - kendi Linux distronu kendin yap..."

    ---------

    Bu arsiv hypermail 2.1.6 tarafindan uretilmistir.