- İSİM
- CREATE DATABASE — yeni bir veritabanı oluşturur
 
- KULLANIM
- CREATE DATABASE isim
     [ [ WITH ] [ OWNER [=] dbsahibi ]
           [ TEMPLATE   [=] şablon ]
           [ ENCODING   [=] kodlama ]
           [ TABLESPACE [=] tablo_alanı ] ]
- Açıklama
- 
CREATE DATABASE yeni bir PostgreSQLTM 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 Bilgi
- 
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.
    - 
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.
   
- Çeviren
- 
Nilgün Belma Bugüner <nilgun (at) belgeler·gen·tr>, Nisan 2005