Postgresql Master Slave Replication Kurulumu
Master – Slave Mimarisi
Replication işlemi Master/ Slave yani Primary ve standby mimarisinde hizmet veren bir veri tabanı cluster’I oluşturulmasına yarar. Postgresql server’da Master / Master yapıda bir replication işlemi sağlanamamaktadır. Bazı third party uygulamalar ile Oracle veri tabanı RAC mimarisine yakın aktif aktif mimari kurulumu yapıldığı idda edilse’de şu anda production ortamlarda kullanıma hazır böyle bir çözüm bulunmamaktadır. Postgresql veri tabanında maksimum yapılabilecek şey ; standby sunucusunu read-only sorgulara izin verecek şekilde açmak ve raporlama vb işler için standby veri tabanını kullanmaktır
Centos 7 işletim sistemi üzerine Postgresql Master / Slave mimarisinde replication kurulumu için yapılması gereken işlemler şu şekildedir;
Öncelikle her iki sunucu üzerinde de postgresql-12 servisleri kurulu olmalıdır. Bu makalede kurulum işlemleri yapılmayacak olup test için daha önceden kurulan test1 sunucusunun vmware clone’u alınarak devam edilecektir. Sıfırdan kurulum için http://www.veritabaniegitimleri.com/2020/04/19/postgresql-12-kurulum-adimlari-centos-7-uzerine/ linkinde bulunan video ders izlenebilir veya http://www.veritabaniegitimleri.com/2020/04/21/postgresql-12-2-kurulum-adimlari/ dökümanı takip edilebilir.
Kurulum Adımları
İki sunucunun da host dosyası aşağıdaki gibi düzenlenir.
- Master sunucuda postgresql.conf dosyası vi editörü ile açılarak listen_address parametresi ‘*’ değerine set edilir.
Replication işlemleri için aşağıdaki komut ile bir kullanıcı oluşturulur.
createuser –replication -P -e replicator
Pg_hba.conf dosyasına replication için gerekli aşağıdaki satır eklenir. Ve postgresql servisleri yeniden başlatılır.
Daha sonra standby sunucuya geçilir.Postgresql servisleri durdurulduktan sonra PGDATA dizini altındaki bütün dosyalar silinir ve Masterdan pg_basebackup ile PGDATA dizininin standby’a kopyalanması işlemi yapılır. Aşağıdaki komut standby sunucu üzerinde çalıştırılır.
pg_basebackup -h 192.168.192.173 -D /database/data -U replicator -P -v -R -X stream -C -S test2
Dosyalar taşındıktan sonra master sunucuya psql ile bağlanıp standby slot’un eklenip eklenmediği kontrol edilir.
Daha sonra standby sunucuda postgresql servisleri başlatılır.
Standby sunucuda aşağıdaki komut ile primary sunucudan wal’ların alınmasını sağlayan wal_receiver processin durumu gözlenebilir.
psql -c “\x” -c “SELECT * FROM pg_stat_wal_receiver;”
Ve primary sunucuda replication işlemi aşağıdaki komut ile gözlemlenir.
psql -c “\x” -c “SELECT * FROM pg_stat_replication;”
Replication’I test etmek için primary sunucuda bir veri tabanı yapıp standby’da veri tabanının oluşturulup oluşturulmadığına bakılır.
Primary
Standby
- AWS nedir? – Cloud 101 - Mayıs 16, 2024
- Vector Databases - Mayıs 15, 2024
- Data Dünyası Nereye Gidiyor? - Mayıs 8, 2024