pgLoader ile MYSQL’den PostgreSQL’e Migration
PostgreSQL veritabanına veri aktarımı yapmak için kullanılan bir açık kaynaklı komut satırı aracıdır. Bu araç, farklı veritabanlarından gelen verileri PostgreSQL veritabanına aktarabilme yeteneği ile öne çıkar ve çeşitli kaynak veritabanları ile uyumlu çalışabilir. pgloader
, veri taşıma süreçlerini otomatikleştirir ve verileri düzgün bir şekilde eşleştirme ve dönüştürme yeteneklerine sahiptir, bu da veri taşıma işlemlerini hızlandırır ve kolaylaştırır.
Desteklediği DB’ler
birçok farklı kaynak veritabanından PostgreSQL'e veri aktarımını destekler. Aşağıda pgloader
'ın desteklediği bazı kaynak veritabanları :
MySQL , SQLite,MS SQL Server,
Oracle,Sybase,Informix,Firebird,
MonetDB,Greenplum,Vertica,
Ingres,H2,Redis,MongoDB,Couchbase
Kurulum
yum install epel-release
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install pgloader
Mysql kurulu olduğunu farz ederek devam ediyorum
Kullanım
pgloader mysql://pgloader_my:passwd@host/dvdrental
postgresql://pgloader_pg:passwd@host/test_db
dvdrental db'sini postgresql'de test_db'ye atmasını söyledik
load dosyası oluşturarak’ta yapabiliriz , veri taşıma işleminin daha fazla özelleştirilmesini ve kontrol edilmesini sağlar
LOAD DATABASE
FROM mysql://pgloader_my:passwd@host/dvdrental
INTO pgsql://pgloader_pg:parola@host/test_db
WITH include drop, create tables
pgloader load_dosyası_adı
Dilediğimiz tabloyu aktarmak için
LOAD DATABASE
FROM mysql://pgloader_my:passwd@host/dvdrental
INTO pgsql://pgloader_pg:parola@host/test_db
including only table names matching 'film';
//film tablosunu aktarmak için
//birden fazla taşımak için
including only table names matching ~/^c/, ‘actor’, ‘city’;
pgloader load_dosyası_adı
Örnekler çoğaltılabilir temel kullanımından bahsettim umarım faydalı olmuştur :)