Postgresql Veritabanı Kurulumu
Postgresql veritabanı Kurulumu konulu bu yazımda adım, adım postgresql veritabanını nasıl kurabileceğimizi anlatacağım. Postgresql veritabanı kurulumu için ilk önce 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ı
Postgresql 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-client | Client paketler |
postgresql-server | Postgresql server paketleri |
postgresql-contrib | Eklenti paketleri |
postgresql-devel | C kütüphaneleri |
pgadmin4 | Pgadmin4 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
Postgresql veritabanı kurulumu initdb işlemi ile devam eder. İ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.
Postgresql veritabanının kapatılması
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.
VeriTabanıEğitimleri YouTube kanalından da eğitim içeriklerine erişebilirsiniz. Kurumsal iletişim için veritabaniegitimleri@gmail.com adresinden taleplerinizi iletebilirsiniz.
- AWS nedir? – Cloud 101 - Mayıs 16, 2024
- Vector Databases - Mayıs 15, 2024
- Data Dünyası Nereye Gidiyor? - Mayıs 8, 2024