Postgresql Upgrade

PostgreSQL upgrade , postgresql açık kaynaklı ve güçlü ilişkisel veritabanı yönetim sistemlerinden biridir. PostgreSQL’in yeni sürümü olan PostgreSQL 15, performans iyileştirmeleri, yeni özellikler ve güvenlik güncellemeleri içerir. Bu makalede, mevcut bir PostgreSQL 14 veritabanını PostgreSQL 15’e nasıl yükselteceğinizi adım adım açıklayacağız.


İlk olarak postgresql15 servisinizin yüklü ve çalışır durumda olması gerekiyor.

Postgresql yüklemediyseniz aşağıdaki komut yardımı ile yükleyebilirsiniz.

apt-get install postgresql15 -y

Postgresql servislerini durduruyoruz ve  aşağıdaki pg_upgrade komutunu calıstırmadan check komutu yardımı ile kontrollerimizi yapıyoruz.

 /usr/lib/postgresql/15/bin/pg_upgrade \
  --old-datadir=/var/lib/postgresql/14_2 \
  --new-datadir=/var/lib/postgresql/15_2 \
  --old-bindir=/usr/lib/postgresql/14/bin \
  --new-bindir=/usr/lib/postgresql/15/bin/ \
  --old-options '-c config_file=/etc/postgresql/14/frk/postgresql.conf' \
  --new-options '-c config_file=/etc/postgresql/15/15d1/postgresql.conf' \
  --check
  

Yukarıdaki komutun detaylarını bulabilirsiniz:

/usr/lib/postgresql/15/bin/pg_upgrade: Yükseltme işlemi için kullanılacak olan pg_upgrade aracının tam yolunu belirtir.

  • old-datadir=/var/lib/postgresql/14_2: PostgreSQL 14 veritabanının veri dizinini (data directory) belirtir. Bu dizin, mevcut PostgreSQL 14 veritabanının verilerini içerir.

  • new-datadir=/var/lib/postgresql/15_2: PostgreSQL 15 veritabanının veri dizinini belirtir. Bu dizin, yükseltme işlemi sonucunda oluşturulacak PostgreSQL 15 veritabanının verilerini içerecektir.

  • old-bindir=/usr/lib/postgresql/14/bin: PostgreSQL 14’e ait olan bin dizininin tam yolunu belirtir. Bu dizin, mevcut PostgreSQL 14 yürütülebilir dosyalarını içerir.

  • new-bindir=/usr/lib/postgresql/15/bin/: PostgreSQL 15’e ait olan bin dizininin tam yolunu belirtir. Bu dizin, PostgreSQL 15 yürütülebilir dosyalarını içerir.

  • old-options ‘-c config_file=/etc/postgresql/14/frk/postgresql.conf’: PostgreSQL 14 için ekstra yapılandırma seçeneklerini belirtir. Bu durumda, mevcut PostgreSQL 14 için yapılandırma dosyasının (postgresql.conf) yolunu belirtir.

  • new-options ‘-c config_file=/etc/postgresql/15/15d1/postgresql.conf’: PostgreSQL 15 için ekstra yapılandırma seçeneklerini belirtir. Bu durumda, PostgreSQL 15 için yapılandırma dosyasının (postgresql.conf) yolunu belirtir.

  • check: Yükseltme işlemi öncesinde bir kontrol yapılmasını sağlar. Bu kontrol, yükseltme işlemi için gerekli ön koşulların sağlanıp sağlanmadığını kontrol eder ve potansiyel sorunları belirler. Ancak, bu işlem veritabanı üzerinde değişiklik yapmaz, sadece bir kontrol yapar.

Bu komut, PostgreSQL 14 veritabanını PostgreSQL 15’e yükseltmek için kullanılırken, veritabanı verilerini ve yapılandırmalarını uygun şekilde dönüştürmek ve güncellemek için gerekli olan araçları ve seçenekleri belirtir.

 

 

yukarıdaki versiyonu 14 olan ve cluster ismi frk olan cluster 15d1 clusterına upgrade edeceğiz.

Check komutu başaralı bir şekilde sonlandırıldıktan sonra aşağıdaki gibi sonunda “check ” parametresini kaldırarak devam ediyoruz.

 

Upgrade başarılı bir şekilde tamamlandı.

İstatistikler aktarılmadığı için aşağıdaki komut yardımı ile istatistikleri aktarıyoruz.

/usr/lib/postgresql/15/bin/vacuumdb --all --analyze-in-stages

İstatistik işlemleri bittikten sonra eski clusterımızı silmek için delete_old_cluster.sh  scriptini çalıştırıyoruz.

 

Sildikten sonra yukarıda görüldüğü gibi versiyonu 14 olan ve cluster name frk olan cluster dosyalarını sildik ve erişilemez durumda.

Postgresql servisini başlatarak durumunu kontrol edelim.

 

Postgresql servisimiz ayakta ve cluster erişilebilir durumda.

 

Loading