İSİM¶
CREATE DATABASE - yeni bir veritabanı oluşturur
KULLANIM¶
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 2005