pgLoader ile MYSQL’den PostgreSQL’e Migration

İbrahim Yıldız
1 min readOct 17, 2023

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 :)

--

--

No responses yet