İ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