Provided by:
manpages-tr_1.0.5.1-1.1_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