Bu döküman, Zabbix v7.0.16 sürümünde kullanılan MySQL v8.0 veritabanının, PostgreSQL v16 ortamına güvenli ve sorunsuz bir şekilde aktarılmasını ele almaktadır. Veritabanı aktarımı, Zabbix’in veri bütünlüğünü koruyarak, tablolar, indeksler, tetikleyiciler ve ilişkili verilerin PostgreSQL uyumlu yapıya dönüştürülmesini kapsar. Bu süreç, hem test hem de üretim ortamlarında uygulanabilir ve Zabbix’in performansını optimize edecek şekilde planlanabilir.
Veritabanını aktarmak için birden fazla yol mevcut ancak en kolayı bu iş için yazılmış olan bir image’ı kullanmaktır.
docker run --rm -it ghcr.io/dimitri/pgloader:latest pgloader --version
Yukarıdaki komut çalıştırıldığında benim şuandaki durumumda aşağıdaki çıktıyı veriyor. Yani bu durumda taşıma işlemini 3.6.10~devel versiyonuyla gerçekleştireceğiz.
pgloader version "3.6.10~devel"
compiled with SBCL 2.2.9.debian
Aşağıdaki komutta ilgili yerleri düzenleyerek çalıştırabilirsiniz. Bu komut taşıma işlemini doğrudan başlatacaktır.
docker run --rm --network host dimitri/pgloader:latest mysql://user:[email protected]:3306/zabbix postgresql://user:[email protected]:31320/zabbix
Alternatif olarak ubuntu sunucuda pgloader kurabilirsiniz. Ancak genellikle daha eski bir versiyon kurulduğundan ötürü docker yöntemini önermekteyim.
apt install pgloader
pgloader kurulumu ardından aşağıdaki komutla aktarım yapabilirsiniz:
pgloader mysql://user:[email protected]:3306/zabbix \\
postgresql://user:[email protected]:31320/zabbix