postgresql create tablespace

postgresql create tablespace.Tablespace, veritabanı nesneleri için farklı saklama yerleri belirtmekte faydalıdır.

Tablespace neden gereklidir ?

Kurulum yaparken farklı bir dizin belirtmediyseniz ve default dizin dolduysa ve hiçbir şekilde dizini büyütülemiyorsa bu sizin veritabanızın çalışmasını engeller fakat farklı bir disk de tablespace oluşturulup sistem yeniden yapılandırılırsa sorun olmayacaktır.

Veritabanlarınızın bazıları hızlı çalışması gerekebilir ve bunları ssd dizinine yerleştirerek performansı artırabilirsiniz ya da arşivleme yapılan uygulama da eski dataları yavaş disk üzerinde tablespace oluşturarak  maliyeti düşürebilirsiniz.

Tablespace kavramı MSSQL de ki filegroup mantığına benzemektedir fakat MSSQL den farklı olarak tek filegroup’un içinde tek file bulunuyor birden fazla file oluşturulamıyor.

 

Veritabanları, şemalar, tablolar, indexler ve sequenceler tablespaceler içinde oluşturulabilir. Bunu yapmak için o tablespace üzerinde CREATE yetkisi olan kullanıcı ilgili komuta tablespace adını bir parametre olarak vermemiz gerekmektedir.

Bu kadar açıklamadan sonra örneğe geçelim

 

Tablespace için dizinimizi oluşturuyoruz.

Mkdir /ssd/data;

Dizin oluşturulduktan sonra postgres kullanıcısına o dizinde yetki veriyoruz.

chown postgres:postgres  /ssd/data

Dizin oluşturma ve yetkilendirme işlemi yapıldı sonra ki adım ise veritabanına bağlanıp tablespace’i oluşturmak olacak.

CREATE TABLESPACE sdds LOCATION '/ssd/data';

Tablespace de oluşturulduktan sonra aşağıdaki komut yardımı ile kontrol edelim;

select*from pg_tablespace;

spcname   | spcowner | spcacl | spcoptions

————+———-+——–+————

pg_default |       10 |        |

pg_global   |       10 |        |
f                   |       10 |        |

 

Yukarıda görüldüğü gibi tablespace oluşturduk.

Oluşturulan Tablespace’i default yapmak için ‘Default Tablespace’i Değiştirmek ‘ isimli yazıma göz atabilirsiniz.

 

Loading