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:
Çıktısının şöyle olması lazım:
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 PostgreSQL
TM kullanıcısı hesabı açmadığı anlamına gelir. (PostgreSQL
TM 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 PostgreSQL
TM kullanıcı ismini de kullanabilirsiniz; PostgreSQL
TM 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 PostgreSQL
TM 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:
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:
(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.