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

PostgreSQL                                                                                    CREATE LANGUAGE(7)