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

İSİM

       CREATE LANGUAGE - yeni bir yordamsal dil tanımlar

KULLANIM

       CREATE [ TRUSTED ] [ PROCEDURAL ] LANGUAGE isim
           HANDLER eylemci [ VALIDATOR doğrulama_işlevi ]

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 doğrulama_işlevi
              doğrulama_işlevi  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