Provided by: manpages-tr_1.0.5.1-2_all 

İ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)