PGLOADER
pgLoader, açık kaynaklı bir veri yükleyici (data loader) ve dönüştürücü araçtır. Bu araç, farklı veritabanları arasında veri taşıma ve dönüştürme işlemleri gerçekleştirmenize olanak tanır. Özellikle PostgreSQL ile diğer veritabanları arasında yapısal ve veri dönüşümleri gerçekleştirmek için kullanılır.
pgLoader’ın temel özellikleri şunlardır:
Çeşitli Kaynaklardan Okuma: pgLoader, MSSQL, MySQL, SQLite, dBase, CSV dosyaları gibi çeşitli kaynaklardan veri okuyabilir.
PostgreSQL Hedefi: Veriyi PostgreSQL veritabanına aktarmak üzere tasarlanmıştır.
Veri Dönüştürme ve Uyarlamalar: pgLoader, kaynak ve hedef veritabanları arasındaki farklılıkları ele alabilen bir dönüştürme ve uyarlama mekanizması sağlar.
Performans Optimizasyonları: Çok büyük veri setlerini işlemek için çeşitli performans optimizasyonlarına sahiptir.
Çoklu İş Parçacığı (Multithreading): pgLoader, veri taşıma işlemlerini hızlandırmak için çoklu iş parçacığı kullanabilir.
pgLoader’ı kullanmak için aşağıdaki adımları izleyebilirsiniz:
- pgLoader’ı Yükleyin: pgLoader’ı işletim sistemine uygun bir şekilde indirip yükleyin. Örneğin, Ubuntu üzerinde sudo apt-get install pgloader komutu kullanılabilir.
- Taşıma İşlemini Tanımlayın: Taşıma işlemini tanımlayan bir kontrol dosyası oluşturun. Bu dosyada kaynak ve hedef veritabanlarını, dönüştürme kurallarını ve diğer parametreleri belirtirsiniz.
- pgLoader’ı Çalıştırın: Oluşturduğunuz kontrol dosyasını kullanarak pgLoader’ı çalıştırın. Örneğin, pgloader kontrol_dosyasi.load şeklinde bir komut kullanabilirsiniz.
Pgloader için basit bir config dosyası hazırlayalım.
LOAD DATABASE
FROM mssql://mssql_user:mssql_password@mssql_ip:mssqlport/mssqlveritabanı_adi
INTO postgresql://postgres_user:postgres_password@postgres_ip:postgres_port/postgresqlveritabani_adi
Yukarıdaki örnekte mssql de bulunan veritabanını mssql e aktarım için kullanılmaktadır .
FROM kısmında belirtilen connection bilgileri veri alınacak kısım ,
LOAD kısmında belirtilen connection bilgileri ise verinin aktarılacağı kısımdır.
Yukarıdaki örnekler baz alınarak basit bir config yazıyoruz.
Görüldüğü gibi mssql de bulunan DBA veritabanını postgresql de bulunan postgredb_1 veritabanına aktarıyoruz.
MSSQL de ki veritabanı ve tablolarımıza bakalım.
Mssql de bulunan veritabanın içerisinde tabloları kontrol ettikten sonra aşağıdaki komut yardımı ile tabloları aktaralım.
pgloader --debug --log-min-messages=debug mssql_d3.load
Aktarım tamamlandıktan sonra postgresql veritabanımızı kontrol edelim.
Tablolarımız aktarılmış daha detaylı bilgi için pgloader’ın resmi sayfasını kontrol edebilirsiniz.
https://pgloader.readthedocs.io/en/latest/index.html