PostgreSQL 12.2 Kurulum Adımları

Posgresql 12.2 Kurulum

Postgresql 12.2 kurulum dosyaları https://www.postgresql.org/download/linux/redhat/ sitesinden indirilir. Bu linkte Şekil 1’deki ekranda bir tool bulunur. Bu tool ile  Postgresql paketlerini yum paket yöneticisi ile indirebilmek için gerekli repository dosyası oluşturulur.

Şekil 1 : Postgresql repo file oluşturulması

Postgre versiyonu, kurulacak işletim sistemi versiyonu ve mimarisi seçildikten sonra 4.numaralı textbox’ta görülen komut çalıştırılarak işletim sistemi üzerine repo dosyası indirilir.

Şekil 2 : Postgresql repo file’ın işletim sistemine indirilmesi

Daha sonra;

  • Client paketlerini yüklemek için “yum install postgresql12”
  • Server paketlerinin kurulumu için “yum install postgresql12-server”

komutu çalıştırılarak PostgreSQL kurulum işlemi gerçekleştirilir.

Şekil 3 : Postgresql kurulumu

postgresql-clientClient paketler
postgresql-serverPostgresql server paketleri
postgresql-contribEklenti paketleri
postgresql-develC kütüphaneleri
pgadmin4Pgadmin4 yönetim aracı

Posgresql paketleri yüklenirken işletim sistemi üzerinde postgres kullanıcısı otomatik olarak oluşturulur. Şekil 4’teki gibi veri dosyalarının depolanacağı database dizini oluşturulur ve izinleri ayarlanır.

Şekil 4 : Veri tabanı dizininin oluşturulması

İnitdb işlemi

İnitdb komutu ile yeni bir database cluster oluşturulur. Database cluster; tek bir instance tarafından yönetilen birden fazla veri tabanına verilen isimdir. Initdb işlemi sırasında yapılan işlemler; veri tabanı katalog tablolarını ve template1 veri tabanının oluşturulmasıdır.

Postgresql’de bir veri tabanı oluşturulduğunda aslında yapılan işlem template 1 veri tabanının kopyalanmasıdır. Postgres veri tabanı ise userların kullandığı default veri tabanıdır. İnitdb işlemi ile bir postgresql data directory’inin ayarlanması da mümkündür. İnitdb komutu postgresql servislerini yönetecek kullanıcı hangi user ise onunla çalıştırılmalıdır. Initdb işlemi sırasında kullanılabilecek bazı önemli parametreler şunlardır.

-D directory –pgdata=directory : Yaratılan veri tabanı cluster’ın depolanacağı dizini değiştirmeye yarar.

Şekil 5: .bash_profile dosyasının ayarlanması.

Şekil 5’teki gibi initdb komutu çalıştırılmadan önce PGDATA sistem değişkeni ayarlanır. PATH değişkenine ise postgresql’in çalıştırılabilir dosyalarının dizin bilgisi eklenir. Bu işlemlerden sonra initdb komutu postgres kullanıcısı ile çalıştırılır. Şekil 6’da initdb komutunun çıktısı görülmektedir.

Şekil 6 : initdb komutunun çalıştırılması.

Postgresql kullanıcısı ile “pg_ctl -D /database/data -l logfile start” komutu ile postgresql servisleri başlatılır. Veya “systemctl start postgresql-12.service” komutu ile servisler başlatılır. Systemctl komutu ile servisler yönetilirken eğer PGDATA değişkeni farklı bir dizine set edildi ise /usr/lib/systemd/system/postgresql-12.service dosyasından gerekli değişiklikler yapılabilir.

Şekil 6 : initdb komutunun çalıştırılması.

“pg_ctl status” komutu ile postgresql servislerin durumu kontrol edilir. “pg_ctl stop” komutu ile de servisler durdurulabilir.

Pg_ctl stop komutu ile veri tabanı kapatılırken 3 farklı modda kapatma işlemi gerçekleştirilebilir.

  • Smart : Default kapatma modudur. Pg_ctl stop komutu çalıştırıldığında çağrılan moddur. Açık bütün bağlantılar kesildiğinde veri tabanı kapatma işlemi gerçekleştirilir. Yani kullanıcıların işlerini tamamlamaları beklenir.
  • Fast : Veri tabanında mevcut bağlantılar kesilir ve veri tabanı kapatılır. Smart moda göre daha hızlıdır çünkü kullanıcıların işlerini bitirmeleri beklenmez.
  • Immediate : Fast opsiyonu ile kapatma işlemi yapılırken bağlantılara gönderilen sinyal ile kesilecekleri kendilerine bildirilir ve bu prosesler veri tabanında commit edilmediyse rollback edilir. Immediate opsiyonunda ise herhangi bir sinyal, bekleme olmadan server kapatılır. Bu methodla kapatılma işlemi yapıldıktan sonra recovery gerekir.

NOT : kill -9 ile kapatma işlemi kesinlikle kullanılmamaladır.

Veysel YUKSEL
Latest posts by Veysel YUKSEL (see all)

Veysel YUKSEL

RDBMS ve NoSQL veri tabanı yönetimi ve Big Data teknolojileri.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir