Provided by: manpages-tr_1.0.5.1-1.1_all bug

İSİM

       CREATE LANGUAGE - yeni bir yordamsal dil tanımlar

KULLANIM

       CREATE [ TRUSTED ] [ PROCEDURAL ] LANGUAGE isim
           HANDLER eylemci [ VALIDATOR dorulama_ilevi ]

AÇIKLAMA

       CREATE  LANGUAGE  kullanarak,  bir PostgreSQL kulanıcısı bir PostgreSQL
       veritabanı için yeni bir yordamsal dil kaydı yapabilir. Bundan sonra bu
       yeni  dilde  işlevler  ve tetik yordamları tanımlanabilir. Yeni bir dil
       kaydı yapabilmek için  kullanıcı,  PostgreSQL  ayrıcalıklı  kullanıcısı
       yetkilerine sahip olmalıdır.

       CREATE    LANGUAGE    aslında,    bir    dilde    yazılmış   işlevlerin
       çalıştırılmasından sorumlu bir eylemci ile bu dili ilişkilendirir.  Dil
       eylemcileri hakkında ayrıntılı bilgi edinmek için
       http://www.postgresql.org/uygulamalar/pgsql/xplang.html        adresine
       bakınız.

       Yordamsal dil kaydı her veritabanına ayrı ayrı yapılmalıdır. Bir  dilin
       bütün   veritabanlarında   öntanımlı  olması  için,  bu  dil  template1
       veritabanında kayıtlı olmalıdır.

PARAMETRELER

       TRUSTED
              Eylemcinin dil için gövenli olduğunu belirtir. Bu, bir  yetkisiz
              kullanıcı    erişim    kısıtlamalarını   aşacak   herhangi   bir
              işlevselliği  kullanmayacak  demektir.   Belirtilmezse,   sadece
              PostgreSQL    ayrıcalıklı   kullanıcısının   yetkilerine   sahip
              kullanıcılar  bu   dili   yeni   bir   işlev   tanımlamak   için
              kullanabilecektir.

       PROCEDURAL
              Gereksizdir (etkisi yoktur).

       isim   Yeni yordamsal dilin ismi. Dil ismi harf büyüklüğüne duyarlıdır.
              İsim veritabanındaki dil isimleri arasında eşsiz olmalıdır.

              Geriye uyumluluk için isim tek tırnak içine alınabilir.

       HANDLER eylemci
              eylemci yordamsal dilin işlevlerini çalıştırmak için çağrılacak,
              evvelce  kaydedilmiş  bir  işlevin  ismidir. Bir yordamsal dilin
              eylemci işlevi C gibi bir derlenen dilin 1. sürüm çağrı uzlaşımı
              ile   yazılmış   olmalı   ve   argüman  almayan  ve  dönüş  türü
              language_handler olan bir işlev  olarak  kaydedilmiş  olmalıdır.
              language_handler  dönüş  türü,  işlevi  bir eylemci işlev olarak
              tanımlamakta kullanılan bir yer tutucu türdür.

       VALIDATOR dorulama_ilevi
              dorulama_ilevi yeni dilde yeni bir işlev oluşturulduğunda yeni
              işlevi  doğrulamak  için  çağrılacak  evvelce  kaydedilimiş  bir
              işlevin ismidir. Böyle bir işlev belirtilmezse, yeni  bir  işlev
              oluşturulduğunda   sınanmayacaktır.   Doğrulama   işlevi,   yeni
              oluşturulacak işlevin nesne kimliği için oid türünde bir argüman
              almalıdır.  İşlev genellikle void döndürecek şekilde tasarlanır.

              Bir doğrulama  işlevi  genellikle  işlev  gövdesini  sözdizimsel
              doğruluk  bakımından inceler, ama işlevin diğer özelliklerine de
              (dilin desteklemediği bir argüman türü  kullanılmış  mı,  acaba;
              gibi)  bakar.  Bir  hatayı  sinyallemek  için,  doğrulama işlevi
              ereport()  işlevini  kullanmalıdır.  İşlevin  dönüş  değeri  yok
              sayılır.

EK BİLGİ

       Bu  komut  normalde  doğrudan  kullanıcılar  tarafından  çalıştırılmaz.
       Yordamsal diler için PostgreSQL dağıtımında bulunan createlang(1) aracı
       kullanılmalıdır.   Bu  araç  ayrıca,  doğru  eylemciyi  de  kuracaktır.
       (createlang yerine CREATE LANGUAGE'de kullanılabilir.)

       PostgreSQL'in 7.3 sürümünden önce,  eylemci  işlevin   language_handler
       türünde değil, opaque türde yer tutucu döndürmesi gerekirdi. Eski döküm
       dosyalarını  desteklemek  için  CREATE  LANGUAGE  opaque  türde   değer
       döndüren   bir   işlevi   kabul  edecektir,  ama  işlevin,  dönüş  türü
       language_handler olacak şekilde  bildirilmesinin  gerektiğini  bildiren
       bir uyarı gösterecektir.

       Yeni  bir  işlev  oluşturmak  için CREATE FUNCTION [create_function(7)]
       kullanılır.

       Bir  yordamsal  dili  veritabanından  kaldırmak  için   DROP   LANGUAGE
       [drop_language(7)] ya da daha iyisi droplang(1) aracını kullanın.

       Sistem kataloğu pg_language (bkz.
       http://www.postgresql.org/uygulamalar/pgsql/catalog-pg-language.html),
       o  an  kurulu  olan  diller  hakkındaki  bilgileri  kaydeder.   Ayrıca,
       createlang kurulu dilleri listelemek için bir seçeneğe sahiptir.

       Bir  kullanıcının bir yordamsal dili kullanabilmesi için, USAGE yetkisi
       olması gerekir. Eğer dilin  güvenilir  olduğu  biliniyorsa,  createlang
       herkese bu izni özdevinimli olarak verir.

ÖRNEKLER

       Aşağıdaki   iki   komut   sırayla   çalıtırılarak  yeni  bir  dilin  ve
       eylemcisinin kaydını yapacaktır.

           CREATE FUNCTION plsample_call_handler() RETURNS language_handler
               AS '$libdir/plsample'
               LANGUAGE C;
           CREATE LANGUAGE plsample
               HANDLER plsample_call_handler;

UYUMLULUK

       CREATE LANGUAGE bir PostgreSQL oluşumudur.

İLGİLİ BELGELER

       ALTER LANGUAGE [alter_language(7)],
       CREATE FUNCTION [create_function(7)],
       DROP LANGUAGE [drop_language(7)],
       GRANT [grant(7)], REVOKE [revoke(7)], createlang(1), droplang(1).

ÇEVİREN

       Nilgün Belma Bugüner <nilgun (at) belgeler·gen·tr>, Nisan 2005