Bir Veritabanının Oluşturulması
Önceki Başlangıç Sonraki
Bir Veritabanının Oluşturulması
Veritabanına sunucusuna erişiminiz olup olmadığını görmek için yapılacak ilk sınama bir veritabanı oluşturmaya çalışmaktır. Çalışan bir PostgreSQLTM sunucusu çok sayıda veritabanını yönetebilir. Genellikle, her proje ya da her kullanıcı için ayrı bir veritabanı kullanılır.
Muhtemelen, sistem yöneticiniz sizin için bir veritabanını zaten oluşturmuştur ve size oluşturduğu veritabanı ismini de söylemiştir. Böyle bir durumda bu adımı geçerek bir sonraki bölüme bakabilirsiniz.
Bu örnekte, yeni bir veritabanını mydb ismiyle şöyle oluşturabilirsiniz:
$ createdb mydb
Çıktısının şöyle olması lazım:
CREATE DATABASE
Bu çıktıyı alıyorsanız, bu adım tamamlanmış demektir.
Ama, createdb komutunun bulunamadığına ilişkin, şöyle bir çıktı alıyorsanız,
createdb: command not found
PostgreSQLTM olması gerektiği gibi kurulmamış demektir. Ya hiç kurulum yapılmamıştır ya da dosya arama yolları ($PATH) doğru yapılandırılmamıştır. Komutu dosya yolunu belirterek kullanmayı deneyin:
$ /usr/local/pgsql/bin/createdb mydb
Bu dosya yolu sisteminizde farklı olabilir. Böyle bir durumda sistem yöneticisi ile bağlantı kurmayı deneyin ya da kurulum adımlarını tekrar gözden geçirip sorunu tespit etmeye çalışın.
Çıktı şöyle de olabilirdi:
createdb: could not connect to database template1: could not connect to server:
No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
Böyle bir hatanın anlamı ya sunucu başlatılmamıştır ya da createdb sunucunun aradığı yerde değildir. Kurulum adımlarını yeniden gözden geçirin ya da sistem yöneticisi ile temasa geçin.
Yanıt şöyle de olabilirdi:
createdb: could not connect to database template1: FATAL:  user "nilgun" does not
exist
Burada "nilgun" yerine sizin kullanıcı isminiz görünecektir. Bu, sistem yöneticinizin sizin için bir PostgreSQLTM kullanıcısı hesabı açmadığı anlamına gelir. (PostgreSQLTM kullanıcı hesapları, sistem kullanıcı hesaplarından ayrıdır.) Eğer sistem yöneticisi sizseniz, hesapların oluşturulması ile ilgili bilgi edinmek için PostgreSQL 8.0 belgelerindeki Veritabanı Kullanıcıları ve Grupları kısmına bakın. İlk kullanıcı hesabını oluşturmak için PostgreSQL'i kuran işletim sistemi kullanıcısı (genellikle bu kullanıcı postgres'dir) olmanız gerekecektir. İsterseniz, bu amaçla, bir sistem kullanıcı isminden farklı bir PostgreSQLTM kullanıcı ismini de kullanabilirsiniz; PostgreSQLTM kullanıcı isminini belirtmek için ya -U seçeneğini kullanmalı ya da bu ismi PGUSER ortam değişkenine atamalısınız.
Eğer bir kullanıcı hesabınız varsa, ama bir veritabanı oluşturma izniniz yoksa, şöyle bir çıktı alacaksınız:
createdb: database creation failed: ERROR:  permission denied to create database
Her kullanıcının yeni bir veritabanı oluşturma yetkisi yoktur. Eğer PostgreSQLTM sizin veritabanı oluşturma isteğinizi geri çeviriyorsa, sistem yöneticisinin size gerekli izinleri vermesi gerekmektedir. Böyle bir durumda sistem yöneticisi ile temasa geçin. Eğer sistem yöneticisi siz iseniz böyle bir izin işlemi için sunucuyu hangi kullanıcı ile başlatmışsanız onun ile sisteme giriş yapın ve bu eğiticiyi okuyup uygulamak isteyenlere gerekli hakları tanıyın.[82]
İsterseniz başka isimler ile de veritabanları oluşturabilirsiniz. PostgreSQLTM istediğiniz sayıda veritabanı oluşturma imkanını sunmaktadır. Veritabanı isminin ilk karakteri bir harf olmalı ve isim 63 karakterden daha uzun olmamalıdır. Tercihen kullanıcı adınız ile aynı ismi taşıyan veritabanları oluşturulması tavsiye olunur. Çoğu araç, böyle bir veritabanı ismini öntanımlı olarak kabul eder ve bu sizi az da olsa yazmaktan kurtarır. Yeni bir veritabanı oluşturmak için, basitçe şunu yazın:
$ createdb
Eğer veritabanınızı artık kullanmak istemiyorsanız onu kaldırabilirsiniz. Örnek olarak, eğer siz mydb adlı veritabanının sahibi iseniz, bunu şöyle silebilirsiniz:
$ dropdb mydb
(Bu komut için, veritabanı ismi öntanımlı olarak kullanıcı ismi değildir. Daima bu ismi belirtmeniz gerekir.) Bu işlem sonucunda fiziksel olarak veritabanınız ile ilgili bütün dosyalar silinecektir ve veritabanınızı geri alamayacaksınız. Bu yüzden bu komutu uygulamadan önce kararınızı tekrar gözden geçirmeniz tavsiye olunur.
createdb ve dropdb hakkında daha fazla bilgi edinmek için PostgreSQL 8.0 belgelerindeki createdb ve dropdb komutlarının açıklamalarına bakınız.


[82] Bunun neden böyle çalıştığına dair açıklama: PostgreSQLTM kullanıcı isimleri sistem kullanıcı isimlerinden bağımsızdır. Eğer bir veritabanına bağlanıyorsanız, hangi PostgreSQLTM kullanıcı adı ile bağlanacağınızı belirtebilirsiniz; bunu yapmazsanız, sistem kullanıcısı isminiz öntanımlı PostgreSQLTM kullanıcı isminiz olarak kullanacaktır. Böyle bir durumda veritabanı sunucusunu başlatan kullanıcı ile aynı isme sahip bir PostgreSQLTM kullanıcısı olacaktır ve böyle bir durumda bu kullanıcı her zaman veritabanı oluşturma izinlerine sahip olacaktır. Her seferinde o kullanıcı ile sisteme girmektense -U seçeneği ile PostgreSQL'e bağlanmak istediğiniz kullanıcı adını belirtebilirsiniz.
Önceki Üst Ana Başlık Sonraki
Mimarinin Temelleri Başlangıç Bir Veritabanına Erişim
Bir Linux Kitaplığı Sayfası