PostgreSQL veri tabanı dünyasının en hızlı ve güvenli açık kaynak kodlu veri tabanı yönetim sistemlerinden biridir. Arkasına aldığı açık kaynak kod topluluğunun desteğiyle gelişmeye devam etmektedir. Artan lisans maliyetlerinden ötürü de bir çok kurum veri tabanı yönetim sistemi olarak PostgreSQL tercih etmektedir.
Ubuntu linux tabanlı özgür ve ücretsiz bir işletim sistemidir. PostgreSQL varsayılan olarak tüm ubuntu sürümlerinde mevcuttur ve postgresin alternatif sürümlerine de postgresql apt deposundan erişilebilir.
PostgreSQL'i en güncel haliyle kurmak için öncelikle kullanılan ubuntu depolarının güncellenmiş olması gerekmektedir. Terminalde update komutu çalıştırıp depoları güncelleyerek kurulum başlatılabilir.
1
$ sudo apt-get update
Depoların güncellenmesi tamamlandıktan sonra Postgresql kuruluman başlanır. Aşağıdaki komut kullanılarak PostgreSQL paketleri indirilir.
1
$ sudo apt-get install postgresql postgresql-contrib
Komutun çalışması tamamlandğında postgresql kurulmuş olacaktır. Spesifik bir sürüm kurulmak isteniyorsa postgresql parametresi sonuna (örneğin postgresql-12) eklenebilir. postgresql-contrib paketi temel özellikler için gerekli değildir ancak veri tabanı sistemi için ek araç ve eklentiler içermektedir. Örneğin bu paket veri tabanı yönetimi ve veri işleme gibi uygulamalar için eklentiler ve veri tabanı güvenliğini artırmak için araçlar içerebilir. PostgreSQL'in kurulduğu dizin incelenecek olursa veri tabanı için gerekli olan konfigürasyon dosyaları görülür.
1
2
3
$ ls /etc/postgresql/14/main
-- conf.d, environment, pg_ctl.conf, pg_hba.conf, pg_ident.conf, start.conf
conf.d dizini PostgreSQL veri tabanı yapılandırması için kullanılan eklenti dosyalarınıns saklandığı dizindir. Bu dosyalar veri tabanı yapılandırmasının bazı özelliklerini değiştirmek için kullanılabilir.
Environment dizini veri tabanının çalıştığı esnada kullanılacak ortam değişkenlerini saklamak için kullanılır.
pg_ctl.conf PostgreSQL veri tabanının kontrol edilmesi için kullanılan bir yapılandırma dosyasıdır. Veri tabanı servisinin başlatılması, durdurulması gibi işlemlerin kontrol edilmesinde kullanılır. Bu süreçlerde kullanılmak üzere belirli parametre ve ayarlar pg_ctl.conf dosyası aracılığıyla yapılır.
pg_hba.conf (Host Based Authentication Conf) dosyası ile veri tabanının erişim denetimi yapılır. Bu konfigürasyon dosyası veri tabanına bağlantı isteği atan kullanıcıların hangi IP adresleri ve makine adları üzerinden ve hangi yetkilerle erişime izin verileceğini tanımlar. Veri tabanı gizliliği ve güvenliği konusunda önemli rol oynar.
pg_ident.conf (PostgreSQL Identification Mapping Conf) dosyası PostgreSQL veri tabanında kullanıcı tanımlama işlemleri için kullanılan bir konfigürasyon dosyasıdır.
Son olarak start.conf dosyası veri tabanının nasıl başlatılacağının tanımlandığı konfigürasyon dosyasıdır. Veritabanının başlatılması sırasında kullanması gereken belirli parametreleri ve ayarları tanımlar. Örneğin, veritabanının bellek kullanımı, dosya sistemi gibi özelliklerinin nasıl yapılandırılacağı bu dosya üzerinden belirlenebilir. Bu dosya, veritabanının performansını ve çalışmasını optimize etmek için önemli bir rol oynar.
Environment dizini veri tabanının çalıştığı esnada kullanılacak ortam değişkenlerini saklamak için kullanılır.
pg_ctl.conf PostgreSQL veri tabanının kontrol edilmesi için kullanılan bir yapılandırma dosyasıdır. Veri tabanı servisinin başlatılması, durdurulması gibi işlemlerin kontrol edilmesinde kullanılır. Bu süreçlerde kullanılmak üzere belirli parametre ve ayarlar pg_ctl.conf dosyası aracılığıyla yapılır.
pg_hba.conf (Host Based Authentication Conf) dosyası ile veri tabanının erişim denetimi yapılır. Bu konfigürasyon dosyası veri tabanına bağlantı isteği atan kullanıcıların hangi IP adresleri ve makine adları üzerinden ve hangi yetkilerle erişime izin verileceğini tanımlar. Veri tabanı gizliliği ve güvenliği konusunda önemli rol oynar.
pg_ident.conf (PostgreSQL Identification Mapping Conf) dosyası PostgreSQL veri tabanında kullanıcı tanımlama işlemleri için kullanılan bir konfigürasyon dosyasıdır.
Son olarak start.conf dosyası veri tabanının nasıl başlatılacağının tanımlandığı konfigürasyon dosyasıdır. Veritabanının başlatılması sırasında kullanması gereken belirli parametreleri ve ayarları tanımlar. Örneğin, veritabanının bellek kullanımı, dosya sistemi gibi özelliklerinin nasıl yapılandırılacağı bu dosya üzerinden belirlenebilir. Bu dosya, veritabanının performansını ve çalışmasını optimize etmek için önemli bir rol oynar.
Veri tabanı servisinin durumunu öğrenmek için service postgresql komutu kullanılır. Bu komut veri tabanı hizmetinin durumunu görmemize, veri tabanı hizmetini başlatmamıza ve durdurmamıza olanak tanır.
1
2
3
4
5
6
7
8
9
10
11
-- veri tabanı servisinin durumunu öğrenmek için
$ service postgresql status
-- veri tabanı servisini durdurmak için
$ service postgresql stop
-- veri tabanı servisini başlatmak için
$ service postgresql start
-- veri tabanı servisini yeniden başlatmak için
$ service postgresql restart
PostgreSQL kurulumu tamamnlandıktan sonra postgres adında bir sistem hesabı tanımlanır. Root kullanıcısından postgres kullanıcısına geçmek için sudo su postgres komutu kullanılaibilir. Ardından psql komutu vererek psql shell ekranına geçiş sağlanır.