CREATE DATABASE(7) | SQL - Dil Deyimleri | CREATE DATABASE(7) |
İSİM¶
CREATE DATABASE - yeni bir veritabanı oluştururKULLANIM¶
CREATE DATABASE isim [ [ WITH ] [ OWNER [=] dbsahibi ] [ TEMPLATE [=] şablon ] [ ENCODING [=] kodlama ] [ TABLESPACE [=] tablo_alanı ] ]
AÇIKLAMA¶
CREATE DATABASE yeni bir PostgreSQL veritabanı oluşturur.Bir veritabanını oluşturmak için ya ayrıcalıklı kullanıcı olmalısınız ya da CREATEDB izniniz olmalıdır (CREATE USER [create_user(7)] kılavuz sayfasına bakınız).
Normalde yeni bir veritabanı oluşturan aynı zamanda bu veritabanının sahibi olur. Ayrıcalıklı kullanıcılar OWNER deyimini kullanarak başka kullanıcılar adına veritabanı oluşturabilirler. Hatta özel izinleri olmayan kullanıcılar için bile bunu yapabilirler. CREATEDB yetkisi olan sıradan kullanıcılar sadece kendi veritabanlarını oluşturabilirler.
Öntanımlı olarak, yeni bir veritabanı standart sistem veritabanı olan template1 veritabanının bir kopyası olarak oluşturulur. TEMPLATE isim deyimi kullanılarak farklı bir şablon belirtilebilir. Özel bir durum olarak, TEMPLATE template0 ile sadece PostgreSQL tarafından tanımlanmış standart nesneleri içeren bakir bir veritabanı oluşturabilirsiniz. Bu, template1'e eklenen kuruluma özgü nesnelerin veritabanınıza kopyalanmasını istemediğiniz durumlarda yararlıdır.
PARAMETRELER¶
- isim
- Oluşturulacak veritabanının ismi.
- dbsahibi
- Yeni veritabanının sahibi olacak kullanıcı. Veritabanını oluşturan kullanıcıyı belirtmek için DEFAULT kullanılır.
- şablon
- Yeni veritabanını oluştururken kullanılacak şablonun ismi. Öntanımlı şablon (template1) kullanılacaksa değer olarak DEFAULT belirtilir.
- kodlama
- Yeni veritabanında kullanılacak karakter kümesinin
kodlaması. Bir dizge sabiti ('SQL_ASCII' gibi), bir
tamsayı kodlama numarası ya da
öntanımlı kodlamayı kullanmak için
DEFAULT belirtilebilir. PostgreSQL sunucusu tarafından
desteklen karakter kümeleri
http://www.postgresql.org/docs/8.0/static/multibyte.html adresinde açıklanmıştır. - tablo_alanı
- Yeni veritabanı ile ilişkilendirilecek tablo alanının ismi. Şablon veritabanının tablo alanı kullanılacaksa, DEFAULT belirtilebilir. Bu tablo alanı bu veritabanında oluşturulan neseneler için öntanımlı tablo alanı olacaktır. Daha fazla bilgi için CREATE TABLESPACE [create_tablespace(7)] kılavuz sayfasına bakınız.
İsteğe bağlı parametrelerin yukarıda belirtilen sırada yazılması şart değildir, istediğiniz sırada yazabilirsiniz.
EK BİLGݶ
CREATE DATABASE bir hareket kümesinin içinde bulunamaz."veritabanı dizini ilklendirilemedi" (could not initialize database directory) satırı bulunan hatalar çoğunlukla veri dizininde yeterli izinlerin olmaması, diskin dolmuş olması ya da diğer dosya sistemi sorunlarıyla ilgilidir.
Bir veritabanını kaldırmak için DROP DATABASE [drop_database(7)] kullanılır.
creatdb(1) uygulaması bu komutun yerine kullanılabilir, rahatlık için sağlanmıştır.
Şablon olarak öntanımlı template1
veritabanı yerine ismi belirtilerek başka bir
veritabanın belirtilebilmesi, genel amaçlı olan COPY
DATABASE yerine kullanılabilecekmiş gibi
düşünülmemelidir; bu amaçla
(henüz) tasarlanmamıştır. Şablon olarak
kullanılan veritabanlarını salt okunur olarak
düşünmenizi öneririz. Daha fazla bilgi
için
http://www.postgresql.org/docs/8.0/static/manage-ag-templatedbs.html adresinde
bakınız.
ÖRNEKLER¶
Yeni bir veritabanı oluşturmak için:CREATE DATABASE lusiadas;
Öntanımlı salesspace tablo alanlı, sahibi salesapp kullanıcısı olacak sales veritabanını oluşturmak için:
CREATE DATABASE sales OWNER salesapp TABLESPACE salesspace;
ISO-8859-1 karakter kümesini destekleyen music veritabanını oluşturmak için:
CREATE DATABASE music ENCODING 'LATIN1';
UYUMLULUK¶
SQL standardında CREATE DATABASE diye bir deyim yoktur. Veritabanları, oluşturulması gerçeklenim tanımlı kataloglara eşdeğerdir.ÇEVİREN¶
Nilgün Belma Bugüner <nilgun (at) belgeler·gen·tr>, Nisan 2005PostgreSQL |