Tablespace (tablo alanları) veritabanında şemalar,tablolar,indeksler ve bunun gibi bir sürü obje tutulabilir böylelikle verinin yönetimini kolaylaştırabiliriz. Bir tablespace sadece superuser tarafından yaratılabilir. Diğer kullanıcılar tablespaceleri sadece kullanabilirler. İlgili kullanıcılara tablespace'lerin kullanabilmesi için CREATE izninin verilmesi gerekir. CREATE izni olan kullanıcı ilgili komuta tablespace adını bir parametre olarak vermelidir.
Önemli noktalardan bir tanesi LOCATION' dır. PostgreSQL sahibinin yazabileceği bir yerde, bir dizine başvurur. Bu yerel bir dizin de veya ana makinenin erişimi olan başka bir makine de bulunan bir dizin de olabilir ve hatta bir ram üzerinde de olabilir. PostgreSQL işletim sistemi kullanıcısı yazma iznine sahip olduğu sürece önemli değildir.
Öncelikle PostgreSQL' e bağlantımızı gerçekleştiriyoruz bulunduğumuz konumu bulmak için ' ls ' komutu ile aktif klasördeki dosya ve klasörleri listelemek için kullanıyoruz.
' mkdir ' komutu ile ornektablespace adın da bir dizin oluşturalım. Oluşturduğumuz dizinlerin özelliklerini (yetkilerini) daha ayrıntılı görmek için ' ls -l ' komutunu kullanabiliriz.
Şimdi gunduztablespace adında bir tablespace oluşturalım. Biz /var/lib/pgsql /10 içerinde ornektablespace oluşturduğumuz için gunduztablespace' in konumu /var/lib/pgsql /10/ornektablespace içerisinde olmalı.
'gunduztablespace' adında tablespace oluşturdum. Oluşturduğum tablespace' in içerisini görüntülemek için pg_tablespace fonksiyonunu kullanarak görüntüleyebiliyorum.
Şimdi ise gunduztablespace'in içine mervee adında bir tablo oluşturalım.
\d mervee komutu ile tablomuzu görüntüleyelim.
Aynı zamanda tablo alanlarımızı \db+ ile görüntüleyebiliriz.
Son olarak ' mervee_index ' adında bir index yaratalım ve \d mervee_index komutu ile görüntüleyelim.
Şimdi biz de tablespace oluşturalım :
Kendi tablomuzu yaratmadan önce her PostgreSQL de varsayılan iki tablo alanı vardır.
Bunlar pg_default ve pg_global 'dır. Bir tablo oluşturduğumuzda ve bunu oluşturmak istediğimizi tablo alanında belirtmediğimiz de pg_default tablo alanında oluşturulacaktır. ( Bu template0 ve template1 için varsayılan veritabanı olacaktır.) pg_global, paylaşılan sistem kataloğunu içerir.
Tablespace ile oluşturacağız tablonun sözdizimine bakalım. \h create tablespace komutunu kullanarak sözdizimine ulaşabiliriz.
Kendi tablomuzu yaratmadan önce her PostgreSQL de varsayılan iki tablo alanı vardır.
Bunlar pg_default ve pg_global 'dır. Bir tablo oluşturduğumuzda ve bunu oluşturmak istediğimizi tablo alanında belirtmediğimiz de pg_default tablo alanında oluşturulacaktır. ( Bu template0 ve template1 için varsayılan veritabanı olacaktır.) pg_global, paylaşılan sistem kataloğunu içerir.
Tablespace ile oluşturacağız tablonun sözdizimine bakalım. \h create tablespace komutunu kullanarak sözdizimine ulaşabiliriz.
Önemli noktalardan bir tanesi LOCATION' dır. PostgreSQL sahibinin yazabileceği bir yerde, bir dizine başvurur. Bu yerel bir dizin de veya ana makinenin erişimi olan başka bir makine de bulunan bir dizin de olabilir ve hatta bir ram üzerinde de olabilir. PostgreSQL işletim sistemi kullanıcısı yazma iznine sahip olduğu sürece önemli değildir.
Öncelikle PostgreSQL' e bağlantımızı gerçekleştiriyoruz bulunduğumuz konumu bulmak için ' ls ' komutu ile aktif klasördeki dosya ve klasörleri listelemek için kullanıyoruz.
' mkdir ' komutu ile ornektablespace adın da bir dizin oluşturalım. Oluşturduğumuz dizinlerin özelliklerini (yetkilerini) daha ayrıntılı görmek için ' ls -l ' komutunu kullanabiliriz.
Şimdi gunduztablespace adında bir tablespace oluşturalım. Biz /var/lib/pgsql /10 içerinde ornektablespace oluşturduğumuz için gunduztablespace' in konumu /var/lib/pgsql /10/ornektablespace içerisinde olmalı.
'gunduztablespace' adında tablespace oluşturdum. Oluşturduğum tablespace' in içerisini görüntülemek için pg_tablespace fonksiyonunu kullanarak görüntüleyebiliyorum.
Şimdi ise gunduztablespace'in içine mervee adında bir tablo oluşturalım.
\d mervee komutu ile tablomuzu görüntüleyelim.
Son olarak ' mervee_index ' adında bir index yaratalım ve \d mervee_index komutu ile görüntüleyelim.
Şimdi ise oluşturduğumuz tablespace'leri silmek istersek neler yapabiliriz ona bakalım önceden oluşturduğum mervespace adlı tablespace silelim.
Yorumlar
Yorum Gönder